常用的上传组件:
Apache 的 Commons FileUpload
JavaZoom的UploadBean
jspSmartUpload
网上这方面的资料太多了,FileUpload是较经常使用的,大致上传代码是
DiskFileItemFactory factory = new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(factory);
try {
List items = uploadparseRequest(request);
Iterator itr = itemsiterator();
while (itrhasNext()) {
FileItem item = (FileItem) itrnext();
if (itemisFormField()) {
Systemoutprintln("表单参数名:" + itemgetFieldName() + ",表单参数值:" + itemgetString("UTF-8"));
} else {
if (itemgetName() != null && !itemgetName()equals("")) {
Systemoutprintln("上传文件的大小:" + itemgetSize());
Systemoutprintln("上传文件的类型:" + itemgetContentType());
// itemgetName()返回上传文件在客户端的完整路径名称
Systemoutprintln("上传文件的名称:" + itemgetName());
File tempFile = new File(itemgetName());
//上传文件的保存路径
File file = new File(scgetRealPath("/") + savePath, tempFilegetName());
itemwrite(file);
requestsetAttribute("uploadmessage", "上传文件成功!");
}else{
requestsetAttribute("uploadmessage", "没有选择上传文件!");
}
}
}
}catch(FileUploadException e){
eprintStackTrace();
} catch (Exception e) {
eprintStackTrace();
requestsetAttribute("uploadmessage", "上传文件失败!");
}
希望可以帮助到你
FileItem有个方法write(file),write方法将FileItem对象中的内容保存到某个指定的文件中。如果FileItem对象中的内容是保存在某个临时文件中,该方法完成后,临时文件可以会被删除。
该方法也可以将普通表单字段保存在一个文件中,但最主要的用途是把上传的文件内容保存在本地文件系统中。
MultipartFile是spring的一个接口,通常我们可以在controller定义方法使用MultipartFile接收form表单提交的文件,然后将MultipartFile可以转化成一个文件。
这个接口通常是用来接收上传的文件,要将文件转换成MultipartFile文件,那么实际上应该考虑的是将File转换成CommonsMultipartFile。CommonsMultipartFile的构造器需要一个FileItem的参数,FileItem有一个实现类叫DefaultFileItem,DefaultFileItem 是apachecommonsfileupload下面的一个类。问题回到了需要去看一下apache的fileupload的源码,然后自己实现文件的上传。
以上就是关于multipartfile怎么获得这个file全部的内容,包括:multipartfile怎么获得这个file、java servlet如何获取提交的文件。、Apache FileUpload文件上传组件API解析等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)