最简单的文件上传

本文介绍了一个使用Java实现的简单文件上传示例,包括前端页面testFileUpload.jsp和后端处理类FileUploadAction.java。示例展示了如何通过Ext.js框架构建前端文件上传表单,并在后端使用ServletFileUpload组件解析并保存上传文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件上传实例

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("文件上传错误!");
}
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值