永发信息网

用java实现上传功能

答案:3  悬赏:10  手机版
解决时间 2021-03-22 12:24
  • 提问者网友:风月客
  • 2021-03-21 13:55
用java实现上传功能
最佳答案
  • 五星知识达人网友:醉吻情书
  • 2021-03-21 15:22
下面是我用过的一段代码,fileupload、servlet搞的

DiskFileItemFactory factory = new DiskFileItemFactory();//为该请求创建一个DiskFileItemFactory对象,通过它来解析请求。执行解析后,所有的表单项目都保存在一个List中。
factory.setSizeThreshold(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(-1);
upload.setHeaderEncoding("UTF-8");
List items;//对应jsp表单的域
File icon = null;//这是我要保存的文件,是一个icon
try {
items = upload.parseRequest(request);//通过request获得请求表单的域
if(items!=null&&items.size()>0){
Iterator itr = items.iterator();
while(itr.hasNext()){
FileItem item = (FileItem) itr.next();
if(item.isFormField()){
//普通表单域
String fieldName = item.getFieldName();//表单域的name属性
String value = item.getString("UTF-8");//表单域的value或者textarea的内容
if("news.title".equals(fieldName)){
news.setTitle(value);
}
...
}else{
//如果不是普通的表单域,即文本域
String fieldName = item.getFieldName();//文本域的name属性
String value = item.getName();//文件名
if("icon".equals(fieldName)){
if(!StringUtils.isEmpty(value)){
String filename = String.valueOf(UUID.randomUUID());
new File(WinWinConstant.file_path+File.separatorChar+WinWinConstant.NEWS).mkdirs();
//设置icon保存的路径
icon = new File(WinWinConstant.file_path+File.separatorChar+WinWinConstant.NEWS + File.separatorChar + filename+value.substring(value.lastIndexOf('.')));
item.write(icon);//保存文件
}
}
...

}
}
}
}catch(Exception e){
e.printStackTrace();
}
全部回答
  • 1楼网友:蕴藏春秋
  • 2021-03-21 17:57
学习smartUpload的源码。
  • 2楼网友:轮獄道
  • 2021-03-21 16:33
为什么不用插件?smartuploader可以解决追问不给用啊,其实我也很想用啊,查完资料,我发现很多都是推荐用插件的,但是不给用,只能不用插件去实现啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯