handler 文件上传
来源:互联网 发布:淘宝2017秋款裙子 编辑:程序博客网 时间:2024/04/29 23:37
<!--隐藏的iframe来接受表单提交的信息-->
<iframe name="hd" style="display:none;" mce_style="display:none;"></iframe>
<FORM id="Form1" method="post" action="upload.ashx" enctype="multipart/form-data" target="hd">
<div id="screenshot" style="display:block; background-color:#FFFF99; position:absolute;width:350px; left:8px; bottom:137px;border:1px; border-color:Gray;border-style:solid; z-index:1;">
<input type="file" id="file1" name="upfile" size="28"/>
<input type="button" value="发送" onclick="return checksn();"/>
</div>
<FORM/>
function UpdateMsg(newfilename, filename) {//此函数用来提供给提交到的页面如upload.ashx输出js的回调,更新当前页面的信息
if (filename == '') { alert('未上传文件!'); return false; }
alert("上传成功 /n储存的文件名"+newfilename+" /n原文件名 "+filename);
}
<%@ WebHandler Language="C#" Class="upload" %>
using System;
using System.Web;
public class upload : IHttpHandler {
private string Js(string v) {//此函数进行js的转义替换的,防止字符串中输入了'后造成回调输出的js中字符串不闭合
if (v == null) return "";
return v.Replace("'", @"/'");
}
//下面就是一个简单的示例,保存上传的文件,如果要验证上传的后缀名,得自己写,还有写数据库什么的
public void ProcessRequest (HttpContext context) {
HttpRequest Request = context.Request;
HttpResponse Response = context.Response;
HttpServerUtility Server = context.Server;
//指定输出头和编码
Response.ContentType = "text/plain";
Response.Charset = "gb2313";
HttpPostedFile f = Request.Files["upfile"];//获取上传的文件
string oldfile = f.FileName.Substring(f.FileName.LastIndexOf("//")+1);
int len = f.ContentLength;
string des = Request.Form["des"]//获取描述
,newFileName=Guid.NewGuid().ToString();//使用guid生成新文件名
if (len > 5 * 1024 * 1024)
{
Response.Write("<mce:script type="text/javascript"><!--
alert('文件大小不能超过5MB!');
// --></mce:script>");//只能上传5MB以内的文件
Response.End();
return;
}
if (f.FileName == "")//未上传文件
Response.Write("<mce:script type="text/javascript"><!--
parent.UpdateMsg('','');
// --></mce:script>");//输出js,使用parent对象得到父页的引用
else { //保存文件
newFileName += System.IO.Path.GetExtension(f.FileName);//注意加上扩展名
try {
f.SaveAs(Server.MapPath("~/UploadFile/" + newFileName));//如果要保存到其他地方,注意修改这里
//调用父过程更新内容,注意要对des变量进行js转义替换,繁殖字符串不闭合提示错误
Response.Write("<mce:script type="text/javascript"><!--
parent.UpdateMsg('" + Js(newFileName) + "','" + oldfile + " " + len + "byte" + "')
// --></mce:script>");
}
catch {
Response.Write("<mce:script type="text/javascript"><!--
alert('保存文件失败!//n请检查文件夹是否有写入权限!');
// --></mce:script>");//如果保存失败,输出js提示保存失败
}
}
}
public bool IsReusable {
get {
return false;
}
}
}
- handler 文件上传
- input(type="file")+Handler(一般处理程序)上传文件简单Demo
- 文件上传---文件上传
- File Upload using jQuery AJAX in ASP.NET Web API or Http handler (AJAX上传文件通过Web API或 http handler)
- Web Handler 文件 ashx
- C# Handler 下载文件
- 上传文件
- 文件上传
- 上传文件
- 文件上传
- 文件上传
- 上传文件
- 上传文件
- 文件上传
- 文件上传
- 文件上传
- 文件上传
- 文件上传
- css样式基础学习
- 关于引用与const
- 搜狐测试代码
- Erlang动态编译热替换
- javascript中parseInt函数
- handler 文件上传
- 在3ds max中,用opacity map制作真实的叶子
- 第九周实验报告任务4 建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作。
- 查找二叉树删除节点的操作
- 生产Google Sitemap XML文件的PHP代码
- 王小波全集
- 第九周任务2
- 第九周任务(三)
- 在MFC的Picture控件上画线和框