首页 > 编程知识 正文

servlet文件下载,htmlfile对象

时间:2023-05-04 23:16:50 阅读:111321 作者:4470

1 .概述此类是用于处理文件上载的高级API。 1. RFC 1867 2.multipart/mixed编码类型的html构件.类继承关系

3 .类方法

四. ServletFileUpload源代码//1.2.1 package org.Apache.com mons.file upload.servlet; import java.io.IOException; import java.util.List; import javax.servlet.http.http servlet请求; importorg.Apache.com mons.file upload.fileitem factory; importorg.Apache.com mons.file upload.fileitem iterator; importorg.Apache.com mons.file upload.file upload; importorg.Apache.com mons.file upload.file upload exception; /** * p用于处理文件上载的高级API/p * *该类是从html构件发送的多图像/混合编码类型的RFC 1867 (http://www.IETF.org ) 要获取与处理RFC1867.txt )指定的多个文件的指定html构件相关联的org.Apache.com mons.file upload.fileitem列表* * 上载的文件由DiskFileItemFactory确定*/publicclassservletfileuploadextendsfileupload,该文件将保存在内存中,或缓存在本地或其他位置在尝试解决请求之前,请调用setfileitemfactory (fileitemfactoryfactory )方法以获取fileitem factory */publicservletfileupload { super } 构建} /** *类的实例*类使用提供的factory创建FileItem实例* @ paramfileitemfactorythefactorytouseforcreatingfileitems 公共文件架构(fileitemfactoryfileitemfactory ) super )文件架构; } /** *检查请求是否包含多个内容。 文件上载请求* * @param request servlet可用于确定请求是否为空* @return true :文件上载请求*/publicstaticfinalbooleanismultipartcontent (httpservletreeeent ' post '.equals (request.get method (.to lower case ) ) ) } string content type=request.get content type (; 内容类型==空(if ) { return false; //文件上载内容类型必须以multipart/开头的内容类型(内容类型. to lower case ).startswith(multipart ) ) { return true; } return false; } /** *解析上传的文件的多部件/格式-数据流,并按传输顺序解析的文件实例列表* http://www.IETF.org/RFC/RFC 1867 . @return按传输顺序返回从请求解析的FileItem实例*/publiclist/*fileitem*/parse request (httpservletrequestrequest ) throwsfileuploadexception { returnparserequest } ne turn }/* * 解析form-data流,并按传输顺序返回按传输顺序解析的FileItemStream实例迭代器* * @param request所解析的servlet请求* @return。 根据请求解析的FileItemStream实例迭代器* @throws FileUploadException如果请求或保存的文件的读取/解析存在问题* @throws IOException将出现I/O错误

这可能是与客户端通信时出现的网络错误,也可能是保存上载内容时出现的问题*/publicfileitemiteratorgetitemiterator (httpservletrequestrequest ) the io exception { return super.getitem iterator (newservletrequestcontext ) request ); }五.文件upload源代码package org.Apache.com mons .文件upload; publicclassfileuploadextendsfileuploadbase//fileitem的工厂privatefileitemfactoryfileitemfactory; /** *构建此类未初始化实例的FileItemFactory在解决请求之前调用setFileItemFactory方法来设置(*/public FileUpload () { super ) ) } /** *使用指定的文件工厂构建此类实例的* /公共文件上载(fileitemfactoryfileitemfactory ) { super; this.fileitem factory=fileitem factory; }/* * returnsthefactoryclassusedwhencreatingfileitems.*/publicfileitemfactorygetfileitemfactory () setsthefactoryclasstousewhencreatingfileitems.* * @ paramfactorythefactoryclassfornewfileitems.*/publicvoidsetfiletemfatem }六. ServletFileUpload实例//createafactoryfordisk-basedfileitemsdiskfileitemfactoryfactory=newdiskfileitemfactory () //setfactoryconstraintsfactory.setsize threshold (maxmemorysize ); factory.set存储库(temp directory; //createanewfileuploadhandlerservletfileuploadupload=newservletfileupload (factory; //setoverallrequestsizeconstraintupload.setsize max (yourmaxrequestsize; //parsetherequestlistfileitemitems=upload.parse request (request );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。