fileupload

Struts2文件上传下载

泄露秘密 提交于 2020-02-12 04:28:16
Struts2文件上传   Struts2提供 FileUpload拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容,fileUpload拦截器 默认在defaultStack栈中, 默认会执行的   页面:<input type="file" name="upload" />   在Action需要对上传文件内容进行接收 : private File upload; // <input type="file" name="upload" />这里变量名 和 页面表单元素 name 属性一致 private String uploadContentType;//格式 :上传表单项name属性 + ContentType 、 上传表单项name属性 + FileName private String uploadFileName; public void setUpload(File upload) {//为三个对象 提供 setter 方法   this.upload = upload; } public void setUploadContentType(String uploadContentType) {   this.uploadContentType = uploadContentType; } public void

SpringMVC工作原理之四:MultipartResolver

岁酱吖の 提交于 2020-02-08 21:54:09
MultipartResolver 用于处理文件上传,当收到请求时 DispatcherServlet 的 checkMultipart() 方法会调用 MultipartResolver 的 isMultipart() 方法判断请求中是否包含文件。如果请求数据中包含文件,则调用 MultipartResolver 的 resolveMultipart() 方法对请求的数据进行解析,然后将文件数据解析成 MultipartFile 并封装在 MultipartHttpServletRequest (继承了 HttpServletRequest) 对象中,最后传递给 Controller,在 MultipartResolver 接口中有如下方法: boolean isMultipart(HttpServletRequest request); // 是否是 multipart MultipartHttpServletRequest resolveMultipart(HttpServletRequest request); // 解析请求 void cleanupMultipart(MultipartHttpServletRequest request); MultipartFile 封装了请求数据中的文件,此时这个文件存储在内存中或临时的磁盘文件中,需要将其转存到一个合适的位置

jQuery-File-Upload外部按钮触发上传

爷,独闯天下 提交于 2020-02-07 02:48:12
这个控件功能还不错,但是对于外部调用上传有点压力。 比如说,他可以实现在添加一个文件后为文件添加一个上传按钮,这个是写在add中的,可以调用data.submit()提交数据 但是如果我要实现外部按钮点击时触发这个data.submit()就有压力了。 有两种方式: 1、想办法保存data,在外部事件触发时,调用到这个data并submit。 2、想办法为该外部按钮在add时注册一个事件,并在点击时触发这个事件后submit() 3、生成一个隐藏button,在外部事件触发时,调用这个button.click()即可。但是要注意重复绑定的问题,要先清除一下事件。 (典型应用,一个表单中有一个上传输入框,我想调用这个上传输入框的进度事件,用默认的提交有点不方便,就需要使用这个控件,但是在使用控件后,提交时就会因为控件的原因,要么提交后取不到文件(加入add,submit等之后),要么能上传,但是进度无事件(不加任何属性))。 现在的要求是,点击外部上传按钮,调用这个控件来上传。 研究upload-ui源码后,发现他是调用了jQuery.data来保存对象,相当于第一种方法: add: function (e, data) { if (e.isDefaultPrevented()) { return false; } var $this = $(this), that = $this

【ASP.NET】基础补习之FileUpload

和自甴很熟 提交于 2020-02-06 11:44:58
FileUpload 控件 FileUpload 工作原理 FileUpload 类显示一个文本框控件和一个浏览按钮(<input type="file">),使用户可以选择客户端上的文件并将它上载到 Web 服务器。用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:\MyFiles\TestFile.txt)来指定要上载的文件。用户也可以通过单击“浏览”按钮,然后在“选择文件”对话框中定位文件来选择文件。 FileUpload 使用方法 1.选择要上载的文件后。 2.显式提供一个控件或机制,使用户能提交指定的文件。例如,单击按钮上载文件。 3.使用 HasFile 属性来验证 FileUpload 控件确实包含文件。 4.调用 SaveAs 方法将文件内容保存到服务器上的指定路径。 FileUpload 使用注意 1.调用 SaveAs 方法时,您必须指定用来保存上载文件的目录的完整路径。如果您没有在应用程序代码中显式指定路径,则当用户试图上载文件时将引发异常。 2.SaveAs 方法将上载的文件写到指定的目录。请确保ASP.NET 应用程序必须具有服务器上该目录的写访问权限。 3.使用 FileName 属性可以获取客户端上使用 FileUpload 控件上载的文件的名称。此属性返回的文件名不包含此文件在客户端上的路径。 4.使用 Server

FileUpLoad控件的使用

无人久伴 提交于 2020-02-06 10:25:20
方法一: protected void btnAdd_Click(object sender, EventArgs e) { String root = System.Configuration.ConfigurationManager.AppSettings["upload"]; bool fileOK = false; String save_path = root; String time = DateTime.Now.ToString("yyyyMMddhhmmss"); if (!Directory.Exists(root)) { Directory.CreateDirectory(root); } if (this.FileUpload1.HasFile) { save_path += time + FileUpload1.FileName; String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower(); String[] allowExtenstion ={ ".gif", ".png", ".bmp", ".jpg", ".jpeg", ".doc", ".txt", ".xls", ".ppt", ".rar", ".zip", ".mdb",".pdf" };

ASP.NET上传文件

妖精的绣舞 提交于 2020-02-06 10:01:32
  上传下载这些东西太经常用到了,总结一下好了。 思路:利用.NET提供的丰富的控件库里的控件:fileUpLoad,文件选择框,然后放置一个确定按钮,操作上传文件,在该确定按钮里做操作:验证文件类型,重写文件名,保存,然后删除同名文件。下载的话:找到文件所在地址,获得服务器所在的物理路径,设置输出类型,指定编码格式,添加到输出流,然后实现下载。 上传:前台页面存在两个控件:fileUpLoad和一个按钮: <asp:FileUpload ID="fuImg" runat="server" CssClass="border" Width="160px" /> <asp:Button ID="BtnEditOK" runat="server" Text=" 完成保存 " OnClick="BtnEditOK_Click" /> 后台代码: protected void BtnEditOK_Click(object sender, EventArgs e) { string[] extens = new string[] { ".jpeg", ".bmp", ".png", ".gif", ".jpg" }; //如果有文件 if (fuFile.HasFile) { string fileName = fuImg.FileName; string ext = Path

fileupload控件上传、文件下载

不问归期 提交于 2020-01-28 15:17:27
常遇到上传下载的功能,这里把我习惯的用法写下来: 上传: string fileName = ""; fileName = this.fu_pic.FileName; if (string.IsNullOrEmpty(fileName))   isPic = "0"; else   isPic = "1"; //附件不为空的时候上传图片,否则不处理 if (isPic == "1") {   byte[] arrayByte = this.fu_pic.FileBytes;   if (arrayByte.Length <= 0)   {     //Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('上传图片是空文件!')</script>");     AlertMessage("上传图片是空文件!");     this.fu_pic.Focus();     return;   }   string extention = fileName.Substring(fileName.LastIndexOf(".") + 1);   if (extention.ToUpper() != "JPG" && extention.ToUpper() != "BMP" &&

HTML5 原生API input file 来实现多图上传,并大图预览

喜你入骨 提交于 2020-01-28 04:28:53
闲来无事,突然想用原生来实现图片的多图上传。 一、效果图大致如下: 1、上传时可以选择多图 2、上传之后缩略图下过图如下: 3、点击缩略图,大图展示当前所点击的图片,并可以左右滑动查看其它的缩略图对应的大图。效果如下: 4、点击删除,弹出是否要删除的弹框,点击确定后,删除。效果图如下: 二、要求 1、限制图片的张数(4张) 2、限制单个图片的大小(1M) 3、支持拖拽上传 4、上传后显示小图预览 5、点击小图进行大图预览 6、实现agax上传 三、所需插件 1、由于时间原因,页面布局依赖于bootstrap 2、滚动插件用的 swiper.js 3、弹框差价 layer 四、页面布局 4-1、缩略效果图如下: 4-2、缩略图的HTML代码如下: <form action="post" class="vaildform fmreset" enctype="multipartform-data"> <div class="form-group clearfix"> <label class="col-lg-2 col-md-2 col-sm-2 control-label" for="userName">图册</label> <div class="col-lg-10 col-md-10 col-sm-10 clearfix"> <!-- 图片展示 --> <div class=

input type=\"file\" 的onchange事件

倖福魔咒の 提交于 2020-01-27 19:11:43
<input id="FileUpload" type="file" style="width:448px; height: 22px;" onclick="return FileUpload_onclick()" onchange="return FileUpload_onselect()"/> <script type="text/javascript" language="javascript"> function FileUpload_onselect() { var path; path=document.forms[0].FileUpload.value; //C:\Documents and Settings\hud\桌面\AddFile.jpg var aa; aa=path.split('.'); document.all('TbxName').value=aa[aa.length-1]; //jpg 结果 var name; name=path.split('\\'); var bb=name[name.length-1]; document.all('Tbx_FileName').value=bb.substr(0,bb.indexOf('.')); //AddFile 结果 } </script> 来源: https://www.cnblogs.com

前后端分离【SpringBoot + FastDfs + VUE】实现百度UEditor富文本文件上传

做~自己de王妃 提交于 2020-01-23 21:00:57
1、UEditor官网下载源码 http://ueditor.baidu.com/build/build_down.php?n=ueditor&v=1_4_3_3-src 2、将源码放到项目中 引入其他jar包 <!--UEditor依赖的jar包 --> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency> 修改ConfigManager中的initEnv()方法为 private void initEnv () throws FileNotFoundException, IOException { File file = new File( this