我需要上传一个流模式的大文件到一个带有Spring boot和嵌入式Jetty的服务器。当我使用默认org.springframework.web.multipart.multipartfile时,当我将大文件上传到带有嵌入式Jetty的服务器Spring boot时,会收到“堆空间异常”Java堆空间。
@PostMapping("import/upload")
public void importUpload(
@RequestParam("file")
HttpServletRequest request) throws Exception {
ServletFileUpload upload = new ServletFileUpload();
try (OutputStream outputStream = new FileOutputStream(zipArchive.getFile())) {
FileItemIterator iterator = upload.getItemIterator(request);
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
if (!item.isFormField()) {
InputStream inputStream = item.openStream();
byte[] buffer = new byte[8192];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, bytesRead);
}
}
}
} catch (Exception ex) {
throw new RuntimeException("Error: " + ex.getMessage(), ex);
}
}
spring:
http:
multipart:
enabled: false
在application.yml中
但现在当我试图上传一个文件时
如何修复此问题?
您是否尝试在servlet中使用这个符号@multipartconfig?
@WebServlet(name = "fileUploadServlet", urlPatterns = {"/upload"})
@MultipartConfig(location=/tmp,
fileSizeThreshold=0,
maxFileSize=5242880, // 5 MB
maxRequestSize=20971520) // 20 MB
public class FileUploadServlet extends HttpServlet {}
像这样的东西。在这里你可以看到其他的选项。
我正在使用Spring Boot(1.5.7)和ng2文件上传(1.2.1)将文件上传到服务器。 所以我遇到了下一个问题,当文件上传开始并中断时(例如关闭浏览器选项卡),Spring Boot会记录下一个错误(两次): 当我将@ExceptionHandler添加到@ControllerAdvice时: 和应用程序的下一个属性。属性: 现在,当文件上载中断时,@ExceptionHandler会按
因此,我是Spring的新手,我正在尝试让文件上传为我的项目工作(顺便说一句,我正在使用Spring工具套件),提交表单时,我得到的只是: HTTP状态500-无法解析多部分servlet请求;嵌套异常为java。lang.IllegalStateException:无法处理部件,因为未提供多部件配置 从浏览器堆栈跟踪: 这是jsp中的表单标记: 输入部分: 照片存储在此字段中的艺术家对象: 控制
我试图实现一个rest web服务,该服务使用使用java配置的Spring上传文件。我不使用Spring Boot,我的类路径中有库。 我阅读了Spring文档,其中说: 如果我使用而不是,我会得到同样的错误。 这就是我初始化应用程序的方式: 我还尝试添加,但没有成功。 请帮帮我,我不知道还能做什么。
问题内容: 我正在尝试读取文本文件,并使用Java中的字符串令牌生成器实用程序分别拆分单词。 文本文件如下所示; 现在,我想做的是从文本文件中获取每个字符并将其存储到数组列表中。然后,我尝试最后打印arraylist中的每个元素。 这是我的代码; 我得到的错误消息是这样; 其中“ getWords”是我的Java文件的名称。 谢谢。 问题答案: a)您始终必须先检查。如果没有更多标记可用,则抛出是
我正在尝试使用Support Bee API创建附件,如下所述:https://supportbee.com/api#create_attachment 我编写了一个服务,它使用创建并发送使用文件名的请求。 如果我在《邮递员》中测试,它会成功。我正在为正文使用,只是从UI中选择要上载的文件: 当我试图通过我的服务上传它时,它不起作用: 这将导致500内部服务器错误。检查对象时,我可以看到它的标题值
在Android中使用OKHTTP以多部分方式上传单个大文件(更具体地说,上传到s3)时,我有什么选择?