c# .net 上传图片到服务器
这几天需要实现上传图片到服务器,百度了很多,最终实现了。现在记录一下。
html 代码
- 这里一个是触发按钮,一个是选择后的图片预览
javascript代码(发送给服务器)
// 将选择的图片显示出来。 当输入框改变时触发
// 此时,
中的src存放的是base64 编码的图片,是一串字符,我们可以把它发送给服务器,服务器解码,然后保存到服务器本地,而数据库存储的则是服务器本地的路径。
$("#image").change(function () {console.log($("#image"))var file = $("#image").get(0).files[0];var reader = new FileReader();reader.readAsDataURL(file);reader.onload = function (e) {// 图片格式为 base64//console.log(e)$("#image_show").attr("src", e.target.result);}
})
服务器解码
- 我是写在controller中的
需要用到这两个: - using System.Drawing;
- using System.IO;
string base64 = image.Split(',')[1];//规范化,逗号前面的是标识符,用于说明原图片的名字和格式
string path = Server.MapPath("/");//获取网站的根路径
string datetime = GetTimeStamp();
string suffix = ".jpg"; //文件的后缀名根据实际情况
string strPath = path + "\\content\\upload-image\\" + datetime + suffix;
MemoryStream stream = new MemoryStream(Convert.FromBase64String(base64));
Bitmap bit=new Bitmap(stream);
bit.Save(strPath);//保存到本地
- 根据时间戳命名图片
public string GetTimeStamp()
{TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);return Convert.ToInt64(ts.TotalMilliseconds).ToString();
}
效果
- 前端

- 后端

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
