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();
}
分别点击左侧和右侧按钮,则将左侧图片加载到右侧:(PictureBox的SizeMode属性可以设置图片的填充方式)
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#,上传,下载
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
C#中 Json 序列化去掉null值的方法
2022-02-02 12:13:52
Java如何实现Word文档分栏效果
2023-09-11 00:28:53
![](https://img.aspxhome.com/file/2023/8/83008_0s.png)
Android通过Webservice操作sqlserver数据库实例代码
2022-12-16 00:46:37
手写redis@Cacheable注解 参数java对象作为key值详解
2022-04-26 11:30:36
![](https://img.aspxhome.com/file/2023/8/83458_0s.png)
详解Asp.Net MVC的Bundle捆绑
2021-09-10 05:21:38
![](https://img.aspxhome.com/file/2023/2/96322_0s.png)
springMVC利用FastJson接口返回json数据相关配置详解
2023-02-24 10:51:58
android使用gesturedetector手势识别示例分享
2023-08-08 15:06:11
Unity3D实现打砖块游戏
2021-11-13 11:29:44
![](https://img.aspxhome.com/file/2023/5/129735_0s.jpg)
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
![](https://img.aspxhome.com/file/2023/3/78143_0s.png)
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
![](https://img.aspxhome.com/file/2023/0/62770_0s.png)
java递归菜单树转换成pojo对象
2022-08-12 04:04:40
Android从服务器获取图片的实例方法
2022-08-27 04:03:46
java快速生成数据库文档详情
2023-11-10 05:25:20
![](https://img.aspxhome.com/file/2023/3/59363_0s.png)