读书人

最简单的文件下传

发布时间: 2012-09-02 21:00:34 作者: rapoo

最简单的文件上传

文件上传实例

?

testFileUpload.jsp代码
<script>
? Ext.onReady(function(){
?? var panel=new Ext.form.FormPanel({
??? tbar:[{text:'提交',handler:function(){
???????? panel.getForm().submit({
????????? url:'FileUploadAction',
????????? success:function(){
??????????? alert("上传成功!");
????????? }???
????? });
???????? }
??? }],
??
?? fileUpload:true,
??? items:[{xtype:'textfield',inputType:'file',fieldLabel:'图片上传',allowBlank:false}]
??? });
??
?new Ext.Viewport( {
??layout : 'fit',
??items : [ panel ],
??renderTo : Ext.getBody()
?});
? });
?

???????
</script>

?

?

?

?

?

FileUploadAction.java代码

?


?protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
??response.setContentType("text/html");
??DiskFileItemFactory diskFile=new DiskFileItemFactory(); //磁盘工厂管理类
??diskFile.setSizeThreshold(1024*4);????????????????????? //设置磁盘内存临界区域
??diskFile.setRepository(new File("D:/"));?????????????? //设置图片缓存存放的位置
??
??ServletFileUpload fileUpload= new ServletFileUpload(diskFile);?? //创建一个servlet 上传图片
??fileUpload.setSizeMax(1024*1024*2);????????????????????? //设置文件大小
??List fileList=null;???????????????????????????????????
??FileItem? item=null;????????????????????????????????
??try{
???fileList=fileUpload.parseRequest(request);??????????? //将request转换为FileItem的List集合
???Iterator<FileItem> it=fileList.iterator();??????????? //迭代集合中的文件项
???while (it.hasNext()) {
???? item = it.next();
???? if(item.isFormField()){???????????????????????????? //判断是不是文件上传
????? continue;
???? }
???? if(item.getName().equals("")||item.getSize()==0){?? //判断文件名和文件大小
????? System.out.println("请选择上传的文件!");
???? }
???? System.out.println("getName()=="+item.getName());
???? System.out.println("getFieldName()=="+item.getFieldName());
???? item.write(new File("D:/"+item.getName()));????? //最后将文件上传到指定的缓存区
???? System.out.println("文件上传成功");
???}
??}catch(Exception e){
???e.printStackTrace();
???System.out.println("文件上传错误!");
??}
?}

?

?

?

这只是个简单的例子,还可以对文件的类型进行判断,也可以对文件重命名

读书人网 >软件架构设计

热点推荐