C#实现上传下载图片

作者:ClearLoveQ 时间:2022-12-15 22:48:22 

本文实例为大家分享了C#实现上传下载图片的具体代码,供大家参考,具体内容如下

1.首先我们通过流来上传下载图片,所有操作只停留在流这一层


MemoryStream ms;
 //左侧按钮
 private void button1_Click(object sender, EventArgs e)
 {  
  ms = new MemoryStream();
  Image bi =pictureBox1.Image;
  bi.Save(ms, pictureBox1.Image.RawFormat);//将图片存入流中
 }
 //右侧按钮
 private void button2_Click(object sender, EventArgs e)
 {
  Image img = Image.FromStream(ms, true);
  pictureBox2.Image = img;
  ms.Close();  
 }

C#实现上传下载图片

分别点击左侧和右侧按钮,则将左侧图片加载到右侧:(PictureBox的SizeMode属性可以设置图片的填充方式)

C#实现上传下载图片

2.通过将图片转化为流然后转化为字节;将字节转化为流,然后加载图片

图片转化为字节的代码:


public static byte[] ImgToByte(Image img, System.Drawing.Imaging.ImageFormat imgFormat)
 {
  Bitmap bmp = new Bitmap(img);
  MemoryStream memStream = new MemoryStream();
  bmp.Save(memStream, imgFormat);
  memStream.Seek(0, SeekOrigin.Begin); //及时定位流的开始位置
  byte[] btImage = new byte[memStream.Length];
  memStream.Read(btImage, 0, btImage.Length);
  memStream.Close();
  return btImage;
}

字节转化为图片的代码:


public static Image ByteToImg(byte[] btImage)
 {
  MemoryStream memStream = new MemoryStream();
  //Stream memStream = null;
  memStream.Write(btImage, 0, btImage.Length);
  memStream.Position = 0;
  memStream.Seek(0, SeekOrigin.Begin);
  //Bitmap bmp = new Bitmap(memStream, true);
  Image img;
  try
  {
   img = Image.FromStream(memStream, true);
   memStream.Close();
   //img = new Bitmap(memStream);
  }
  catch (Exception ex)
  {
   img = null;
   MessageBox.Show(ex + "");
  }
  finally
  {
   memStream.Close();
  }
  return img;
}

来源:https://blog.csdn.net/ClearLoveQ/article/details/81112994

标签:C#,上传,下载
0
投稿

猜你喜欢

  • C#中 Json 序列化去掉null值的方法

    2022-02-02 12:13:52
  • Java如何实现Word文档分栏效果

    2023-09-11 00:28:53
  • Android通过Webservice操作sqlserver数据库实例代码

    2022-12-16 00:46:37
  • 手写redis@Cacheable注解 参数java对象作为key值详解

    2022-04-26 11:30:36
  • 详解Asp.Net MVC的Bundle捆绑

    2021-09-10 05:21:38
  • springMVC利用FastJson接口返回json数据相关配置详解

    2023-02-24 10:51:58
  • android使用gesturedetector手势识别示例分享

    2023-08-08 15:06:11
  • Unity3D实现打砖块游戏

    2021-11-13 11:29:44
  • Android 控制wifi 相关操作实例

    2023-09-08 20:35:49
  • c# 调用Win32Api关闭当前应用的方法

    2023-09-22 20:51:26
  • 整理Java编程中常用的基本描述符与运算符

    2022-05-30 01:36:32
  • C#检查foreach判读是否为null的方法

    2021-10-28 01:37:24
  • C#读写文本文件(.txt)的方法实例

    2023-12-23 21:33:57
  • C# byte转为有符号整数实例

    2022-01-02 13:28:01
  • 打印Java程序的线程栈信息方式

    2021-11-02 19:00:28
  • C#创建临时文件的方法

    2023-06-16 14:32:36
  • Java中BigDecimal类的使用详解

    2021-12-13 05:30:52
  • java递归菜单树转换成pojo对象

    2022-08-12 04:04:40
  • Android从服务器获取图片的实例方法

    2022-08-27 04:03:46
  • java快速生成数据库文档详情

    2023-11-10 05:25:20
  • asp之家 软件编程 m.aspxhome.com