上传文件:前端做个表单选择文件后一点提交会将文件发送到后台服务器保存。
前端代码段:
<form method="POST" enctype="multipart/form-data" action="ProcessFileUPload.ashx">
<input type="file" name="fileDemo"/>
<input type="submit" value="提交"/>
</form>
后台处理:
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
HttpPostedFile file = context.Request.Files[0];
//context.Request.ContentType客户端请求时候 请求类型
//context.Server.MapPath和context.Request.MapPath都可以将相对路径转换为绝对路径。保存文件一定要是绝对路径
file.SaveAs(context.Server.MapPath(Guid.NewGuid().ToString() + file.FileName));
context.Response.Write("保存成功");
}
文件下载:
public void ProcessRequest (HttpContext context) {
//因为url地址是Ask码 ,所以必须对中文文件名字进行encode。不然客户端接受文件的时候,看到的文件名字是乱码
string encodeFileName = HttpUtility.UrlEncode("新贵妃醉酒.MP3");
context.Response.AddHeader("Content-Disposition", string.Format("attachment;filename=\"{0}\"", encodeFileName));
//把文件的内容作为流输出
context.Response.WriteFile("新贵妃醉酒.MP3");
}