Ext 上传文件,前后台实现, Asp.net 代码

来源:互联网 发布:免费恢复数据软件 编辑:程序博客网 时间:2024/05/18 01:14
Ext 上传文件菠菜我最近在搞 Ext 开发的邮件系统, 其中就有用到如何上传文件这个大众化的问题,经过我一上午的研究和查资料终于搞定,现在决定把代码共享出来,方便大家,呵呵. 纯属个人原创,所以转贴请注明出处:http://blog.csdn.net/zhangyunbo1116当然,我使用的是 ExtJs论坛中的一个组件, 非常感叹作者的牛比哄哄. 作者的大名叫: MaximGB .. 呵呵,现在我就为你到来如何开发这样的上传文件. 基本结构是:Ext 前台实现界面,后台采用 Asp.Net 开发. Jsp 我会,但就是 php 偶不会,可是在老外的论坛,php可是王者哦,呵呵!需要下载的 Ext 上传文件的组件扩展:http://max-bazhenov.com/dev/upload-dialog-2.0/index.php进入开发作者的页面,下载最新的上传组件包, 如果不是最新的扩展包,有可能作者改过的bug你没有修正,这样,岂不是很惨哦!现在进入正题,我在这里只提供一个最最基本的 demo 程序, 当然需要你知道的前提知识是,如何使用 Ext, 如何在自己的页面中加入 js 文件,如果这个你都不会,我真的是很无语,你还是先开看 Ext 的基本教程吧,然后再看我这篇文章. 下载后的压缩包解压,你就会发现文件不是很多,我只提两个关键的文件:Ext.ux.UploadDialog.js 这个就是实现功能的 js文件,但是是格式化的,方便感兴趣的人自己阅读的 js 代码文件,当你发布应用的时候,建议不要引入该文件,而是引入下面一个文件.Ext.ux.UploadDialog.packed.js 是压缩好的,引入这个文件,可以提高用户的访问速度.Ext.ux.UploadDialog.css 这是样式文件,应该导入.如果你嫌麻烦,想直接看真实的东东,那就到这里下载,里面还有我汉化的一个小小的js,文件,只要覆盖: Ext.ux.UploadDialog.packed.js 就 可以了. http://download.csdn.net/user/zhangyunbo1116/http://download.csdn.net/source/345961先来 Ext 写的界面 和对应的js 代码, 该导入的你自己倒哦 测试如何使用Ext 2.0

Demo panel

// JScript FileExt.onReady(function() ...{Ext.QuickTips.init(); var btnShow = new Ext.Button(...{ text:''上传文件'', listeners:...{ click:function(btnThis,eventobj)...{ dialog = new Ext.ux.UploadDialog.Dialog(...{ url: ''UploadFile.aspx'', reset_on_hide: false, allow_close_on_upload: true, upload_autostart: true }); dialog.show(''show-button''); } } }); btnShow.render("show-dialog-btn");}); //Ext.onReadyusing System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.IO; //注意,导入public partial class PagesExtMail_AspNet_UploadFile : System.Web.UI.Page...{ log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); protected void Page_Load(object sender, EventArgs e) ...{ //我自己有日志,如果你没有去掉就可以. log.Info("Request.Files.Count=" + Request.Files.Count); string jSONString = string.Empty; try ...{ if (Request.Files.Count > 0) ...{ HttpPostedFile postedFile = Request.Files[0]; string savePath ; //请在你的d 盘下要建立一个upload 这样的测试目录.如果没有,会出错的 //可不要告诉我你连D 盘都没有,如果这样,算你狠... savePath = @"D:/upload/"; savePath += Path.GetFileName(postedFile.FileName); //检查是否在服务器上已经存在用户上传的同名文件 if (File.Exists(savePath)) ...{ File.Delete(savePath); } log.Debug(savePath); postedFile.SaveAs(savePath); jSONString = "{success:true,message:''上传成功''}"; } else log.Info("Request.Files.Count=" + Request.Files.Count); }//try catch (Exception ex) ...{ jSONString = "{success:false,message:''上传失败,可能因为上传文件过大导致!''}"; log.Info("上传文件出错:"+ex.Message); log.Info("堆栈信息是 :" + ex.StackTrace); }//catch finally ...{ log.Debug("jSONString=" + jSONString); } //输出上传文件后的后台相应信息, //在这里请你注意删除你对应页面的所有html 脚本,只需要保留page 头就可以 Response.Write(jSONString); Response.Flush(); }//pageload}//class关于汉化问题,开发的作者说的很详细, 我就很简单, 直接编辑了Ext.ux.UploadDialog.packed.js . 在这个页面的最后由一个对象Ext.ux.UploadDialog.Dialog.prototype. i18n .. 直接把里面的英文改成中文就可以,如果各位还信得过偶的英文水平,可以拷贝偶的翻译的东东,下载覆盖.可以到这里下载:var p=Ext.ux.UploadDialog.Dialog.prototype;p.i18n={title:"上传文件",state_col_title:"状态",state_col_width:70,filename_col_title:"文件名",filename_col_width:230,note_col_title:"备注",note_col_width:150,add_btn_text:"添加",add_btn_tip:"添加文件到上传队列。",remove_btn_text:"删除",remove_btn_tip:"从上传队列删除文件。",reset_btn_text:"重置",reset_btn_tip:"重置队列。",upload_btn_start_text:"开始上传",upload_btn_stop_text:"中断上传",upload_btn_start_tip:"上传文件对列。",upload_btn_stop_tip:"停止上传。",close_btn_text:"关闭",close_btn_tip:"关闭上传对话框。",progress_waiting_text:"等待...",progress_uploading_text:"上传中: {0} 的 {1} 文件集合成功。",error_msgbox_title:"错误",permitted_extensions_join_str:",",err_file_type_not_permitted:"不支持上传该类型文件.
请选择下列类型的文件集合 {1}",note_queued_to_upload:"上传的队列。",note_processing:"上传中...",note_upload_failed:"当前请求过多,服务器正忙,不能及时响应或者因特网服务器发生错误。",note_upload_success:"成功。",note_upload_error:"上传文件出错。",note_aborted:"已经被用户中断"}到现在,就完了,祝各位新年快乐,万事大吉,鼠年发财…..曲奇饼博客:http://hi.baidu.com/aicookies
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 过麦时候皮肤痒怎么办 颈部起红疙瘩痒怎么办 脚底痒身上痒该怎么办 生完孩子屁股疼怎么办 pr打开工程文件无响应怎么办 娃娃和老师有隔阂了怎么办 大人字写得不好怎么办 不会写好看的字怎么办 无限量流量限速了怎么办 长期化妆后皮肤变黄怎么办 手机密码忘记了打不开怎么办 手机解压包不知道密码怎么办 手机屏图标没了怎么办 b站页面卡顿怎么办 被全景视觉骗了怎么办? 逆战进去没声音怎么办 Mac电脑ai卡住了怎么办 pr字幕打不了字怎么办 pr手写字多笔画怎么办 家中挖矿噪音很大怎么办 学了栏目包装不想干怎么办 在文本打字乱了怎么办 体考后觉得成绩有出入怎么办 荧光棒进眼睛里怎么办 无法读源文件或磁盘怎么办 爱剪辑视频横着怎么办 pr界面字体太小怎么办 0p手机卡槽坏了怎么办 pr视频有水波纹怎么办 手机耳机插口插上没声音怎么办 xp系统电脑没有声音怎么办 win10笔记本耳机没声音怎么办 电脑插耳机还是外放怎么办 主机电脑耳机插孔坏了怎么办 苹果6plus有点卡怎么办 手机拨通电话后黑屏怎么办 手机拨通后没声音怎么办 苹果手机铃声不响了怎么办 婴儿喘气粗好像有痰怎么办 金毛呼吸声很大怎么办 回看福建导视该怎么办