使用GWT保存上载的文件
我正在使用使用GWT保存上载的文件,gwt,Gwt,我正在使用org.apache.commons.fileupload上传 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean isMultipart = ServletFileUpload.isMultipartContent(request); GWT.log("is mult
org.apache.commons.fileupload
上传
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
GWT.log("is multipart? " + Boolean.toString(isMultipart), null);
ServletFileUpload upload = new ServletFileUpload();
try{
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream() ;
/**
* Save th uploaded file
*/
}
}
catch(Exception e){
e.printStackTrace();
}
}
如何保存上传的文件?这看起来像是服务器端代码,它(除了GWT-RPC servlet)根本不是GWT特有的。那
GWT.log()
是不必要的——用常规日志调用替换它,并像在非GWT代码中一样处理上载,因为这就是它
.这看起来像是服务器端代码,它(除了GWT-RPC servlet)根本不是GWT特有的。那
GWT.log()
是不必要的——用常规日志调用替换它,并像在非GWT代码中一样处理上载,因为这就是它
.我想这对你有帮助
if (!item.isFormField()) {
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
File saveTo = new File("/file_uploads/" + fileName);
try {
item.write(saveTo);
...
}
catch (Exception e){
...
}
请记住,上传的文件可能已经由org.apache.commons.fileupload自动保存
您可以使用设置要保存在磁盘上或加载到内存中的文件的大小阈值
// Create a factory for disk-based file items
DiskFileItemFactory factory = new DiskFileItemFactory();
// Set factory constraints
factory.setSizeThreshold(yourMaxMemorySize);
factory.setRepository(yourTempDirectory);
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint
upload.setSizeMax(yourMaxRequestSize);
// Parse the request
List /* FileItem */ items = upload.parseRequest(request);
关于org.apache.commons.fileupload,您需要了解的所有信息都在这里:我认为这可以帮助您
if (!item.isFormField()) {
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
File saveTo = new File("/file_uploads/" + fileName);
try {
item.write(saveTo);
...
}
catch (Exception e){
...
}
请记住,上传的文件可能已经由org.apache.commons.fileupload自动保存
您可以使用设置要保存在磁盘上或加载到内存中的文件的大小阈值
// Create a factory for disk-based file items
DiskFileItemFactory factory = new DiskFileItemFactory();
// Set factory constraints
factory.setSizeThreshold(yourMaxMemorySize);
factory.setRepository(yourTempDirectory);
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint
upload.setSizeMax(yourMaxRequestSize);
// Parse the request
List /* FileItem */ items = upload.parseRequest(request);
关于org.apache.commons.fileupload,您需要了解的所有信息如下: