找传奇、传世资源到传世资源站!

asp.net 上传文件

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

<%@ Page Language="C#" EnableSessionState="ReadOnly" Async="true" %><%@ Import Namespace="System.IO" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>Untitled Page</title> <script runat="server"> //限制大小 1M protected void Page_Load2(object sender, EventArgs e) { if (this.IsPostBack) { UploadInfo uploadInfo = this.Session["UploadInfo"] as UploadInfo; if (uploadInfo == null) { // 让父页面知道无法处理上传 const string js = "window.parent.onComplete('error', '无法上传文件。请刷新页面,然后再试一次);"; ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", js, true); } else { // 让服务端知道我们还没有准备好.. uploadInfo.IsReady = false; // 上传验证 if (this.fileUpload.PostedFile != null && this.fileUpload.PostedFile.ContentLength > 0 && this.fileUpload.PostedFile.ContentLength < 1048576)// 限制1M { // 设置路径 string path = this.Server.MapPath(@"Uploads"); string fileName = Path.GetFileName(this.fileUpload.PostedFile.FileName); // 上传信息 uploadInfo.ContentLength = this.fileUpload.PostedFile.ContentLength; uploadInfo.FileName = fileName; uploadInfo.UploadedLength = 0; //文件存在 初始化... uploadInfo.IsReady = true; //缓存 int bufferSize = 1; byte[] buffer = new byte[bufferSize]; // 保存字节 using (FileStream fs = new FileStream(Path.Combine(path, fileName), FileMode.Create)) { while (uploadInfo.UploadedLength < uploadInfo.ContentLength) { //从输入流放进缓冲区 int bytes = this.fileUpload.PostedFile.InputStream.Read(buffer, 0, bufferSize); // 字节写入文件流 fs.Write(buffer, 0, bytes); // 更新大小 uploadInfo.UploadedLength = bytes; // 线程睡眠 上传就更慢 这样就可以看到进度条了 System.Threading.Thread.Sleep(100); } } // 删除. File.Delete(Path.Combine(path, fileName)); // 让父页面知道已经处理上传完毕 const string js = "window.parent.onComplete('success', '{0} 已成功上传');"; ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", string.Format(js, fileName), true); } else { if (this.fileUpload.PostedFile.ContentLength >= 1048576)//1M { const string js = "window.parent.onComplete('error', '超出上传文件限制大小,请重新选择');"; ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", js, true); } else { const string js = "window.parent.onComplete('error', '上传文件出错');"; ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", js, true); } } uploadInfo.IsReady = false; } } } // 不限制大小 protected void Page_Load(object sender, EventArgs e) { if (this.IsPostBack) { UploadInfo uploadInfo = this.Session["UploadInfo"] as UploadInfo;uploadInfo.IsReady = false; if (this.fileUpload.PostedFile != null && this.fileUpload.PostedFile.ContentLength > 0) { string path = this.Server.MapPath(@"Uploads"); string fileName = Path.GetFileName(this.fileUpload.PostedFile.FileName); uploadInfo.ContentLength = this.fileUpload.PostedFile.ContentLength; uploadInfo.FileName = fileName; uploadInfo.UploadedLength = 0; uploadInfo.IsReady = true; int bufferSize = 1; byte[] buffer = new byte[bufferSize]; using (FileStream fs = new FileStream(Path.Combine(path, fileName), FileMode.Create)) { while (uploadInfo.UploadedLength < uploadInfo.ContentLength) { int bytes = this.fileUpload.PostedFile.InputStream.Read(buffer, 0, bufferSize); fs.Write(buffer, 0, bytes); uploadInfo.UploadedLength = bytes; } } const string js = "window.parent.onComplete('success', '{0} 已成功上传');"; ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", string.Format(js, fileName), true); } else { const string js = "window.parent.onComplete('error', '上传文件出错');"; ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", js, true); } uploadInfo.IsReady = false; } } </script> <style type="text/css"> BODY{margin:0; padding:0; background-color:#F0F8FF;} </style></head><body> <form id="form" runat="server" enctype="multipart/form-data"> <asp:ScriptManager ID="scriptManager" runat="server" /> <script type="text/javascript"> function pageLoad(sender, args){ window.parent.register( $get('<%= this.form.ClientID %>'), $get('<%= this.fileUpload.ClientID %>') ); } </script> <div> <asp:FileUpload ID="fileUpload" runat="server" Width="100%" /> </div> </form></body></html>

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复