File upload Apache commons文件上载会损坏文件
我有一个servlet,用来处理上传的文件。Apache公共文件上载库用于此目的 问题是文件已损坏。看起来文件中“?”上的符号“~”已被替换 以下是我的html表单:File upload Apache commons文件上载会损坏文件,file-upload,apache-commons-fileupload,File Upload,Apache Commons Fileupload,我有一个servlet,用来处理上传的文件。Apache公共文件上载库用于此目的 问题是文件已损坏。看起来文件中“?”上的符号“~”已被替换 以下是我的html表单: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></t
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<FORM action="http://localhost:8081/wihome-connector-bpm/bpmFileUpload"
enctype="multipart/form-data"
method="post">
What files are you sending?
<INPUT type="file" name="uploadedFiles"><BR>
<INPUT type="submit" value="Send">
<INPUT type="reset">
</FORM>
</body>
</html>
我正在尝试上传图片
但我得到的是:
你能帮帮我吗?有什么问题?好的,过滤器有问题。该项目有一个过滤器,它在请求之前加速请求
public class FileUploadServlet extends HttpServlet {
private static final Log LOG = LogFactory.getLog(FileUploadServlet.class);
/**
* {@inheritDoc}
*/
@Override
protected void doPost(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
try {
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
LOG.info("Uploading file: " + item.getName());
byte[] fileContents = IOUtils.toByteArray(item.getInputStream());
//...
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}