0
這是我上傳文件代碼:無法上傳大於10MB的文件?
@Override
public Representation post(Representation entity) {
try {
if (entity != null) {
if (MediaType.MULTIPART_FORM_DATA.equals(entity.getMediaType(), true)) {
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(100000000);
RestletFileUpload upload = new RestletFileUpload(factory);
FileItemIterator fileIterator = upload.getItemIterator(entity);
while (fileIterator.hasNext()) {
FileItemStream item = fileIterator.next();
String name = item.getName();
byte[] byteContent = ByteStreams.toByteArray(item.openStream());
if(byteContent != null) {
String result = doSomethingWith(byteContent);
Representation response = new StringRepresentation(result);
response.setMediaType(MediaType.APPLICATION_JSON);
return response;
}
}
} else {
return badRequest();
}
} else {
return badRequest();
}
} catch (Exception e) {
return internalError();
}
return null;
}
當部署在碼頭(Java 8)它的工作原理時,文件大小約爲較低然後10MB,小文件,如1-2 MB,當文件較大像10MB +上傳失敗,Restet或Jetty有什麼問題?
我讀過關於添加:ContextHandler.setMaxFormContentSize(int maxSize);爲Jetty,但不知道如何將此配置與Reslet集成或即使它可以工作。 – xybrek
處理上載的servlet的servlet規格多部分配置設置是什麼? –
查看以前的答案:https://stackoverflow.com/q/19145489/775715 –