首先,你必须提供一点代码来显示你做了什么,并知道出了什么问题。无论如何,我假设您必须使用 HTML 文件上传控件将文件上传到服务器。
文件上传或者说multipart/form-data编码类型支持没有在HttpServlet实现中实现。所以,request.getParameter()不要与 multipart/form-data. 您必须使用为此提供支持的其他库。Apache Commons File Upload就是一个很好的例子。他们的使用文件上传指南将帮助您开始使用该库。这是一个简单的示例(使用文件上传指南编译)。
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
List /* FileItem */ items = upload.parseRequest(request);
// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
// Process form field.
String name = item.getFieldName();
String value = item.getString();
} else {
// Process uploaded file.
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
if (writeToFile) {
File uploadedFile = new File("path/filename.txt");
item.write(uploadedFile);
}
}
}
} else {
// Normal request. request.getParameter will suffice.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4566 次 |
| 最近记录: |