.Net 中如何实现图片上传
1、表单元素使用文件选择框<input type ="file " />控件
2、表单设置enctype="multipart /form-data ",本质上是设置浏览器提交表单的数据时,使用随机分隔符来分
割不同控件的数据,而且数据的组织形势由name=value 换成了数据头和数据体的方式
二、服务器端
1、服务器接收客户端上传的文件使用Request.Files 属性
2、使用HttpPostedFile的SaveAs方法将图片保存在服务器
(上图在W3school上截取)
看看具体后台的实现代码:
//HttpPostedFile类 提供对客户端已上载的单独文件的访问
HttpPostedFile hpfile = context.Request.Files[0];
//设置图片在服务器端的保存位置
string serverPath = "upload";
if (hpfile.ContentLength > 0)
{
//获取上传文件的文件名(不同版本的framework对hpfile.FileName的解释可能不太一样,我们只需要获取上传文件的文件名即可)
string fileName=System.IO.Path.GetFileName(hpfile.FileName);
//确定上传文件的具体位置
serverPath = context.Server.MapPath(serverPath + "/" + fileName);
//SaveAs方法进行保存
hpfile.SaveAs(serverPath);
context.Response.Write(fileName + "上传成功");
}
就是如此简单,其实可以看到HttpPostedFile类内部也是一个文件流的方式进行传输,如下图