【问题标题】:Size of the file is changing after upload in spring春季上传后文件的大小正在发生变化
【发布时间】:2016-06-02 20:20:21
【问题描述】:

我正在尝试在我的本地 spring java web 应用程序中上传一个 apk 文件,但由于校验和失败,文件的大小在上传后发生了变化。

基本上磁盘上文件的大小与我在应用程序中收到的文件大小不同。

我完全一无所知,我不知道如何继续调试。

PS:上传过程中创建的临时文件(tmp 文件夹)的大小比我最初上传的要大。

代码:

@RequestMapping(value = "/app", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA)
public Application upload(@RequestParam(value = "apkFile", required=false) MultipartFile apkFile, 
                          @RequestParam(value = "iconFile", required=false) MultipartFile iconFile, 
                          @RequestParam Map<String, String> params, HttpServletRequest request, 
                          Authentication authentication) {
    //process
}

我使用的依赖项

<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.2</version>
</dependency>

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.5</version>
</dependency>

我使用的 HTML 代码:

上传文件请求页面

    <form method="POST"
        action="http://localhost:8080/devicemanagement_administration/admin/api/v1/application/app"
        enctype="multipart/form-data">
        type(binary,icon or screenshot): <input type="text" name="contentType"><br />
         tenantId(ibm or google): <input type="text" name="tenantId"><br />
        <br /> platform(android or ios): <input type="text" name="platform"><br />
        File to upload: <input type="file" id="apkFile" name="apkFile"><br /> content
        <br /> <input type="submit" value="Upload"> Press here to
        upload the file!
    </form>

</body>
</html>

PS:我尝试上传文本和json文件,上传后大小没有改变..只有大多数apk会导致问题。

【问题讨论】:

  • 它们是两个不同的文件,或者您在接收上传的代码中做错了什么。第一遍尝试使用另一个文件 - 如果问题仍然存在,则服务器就是问题所在,否则您可能选择了错误的文件或覆盖了它。
  • 添加了我在问题中使用的代码 sn-p。我在控件进入方法后通过放置断点检查文件的大小......有很多文件的大小不同,只有少数文件的大小没有改变。
  • 我用的是tomcat 8.0.33和jdk 1.8,如果这个信息有用的话
  • 表单(jsp或html)是否在编码部分有多个部分?
  • 请张贴表单的 HTML 和未超出限制的check (SpringBoot documentation for example)

标签: java spring file


【解决方案1】:

我终于知道是什么问题了,

我已在此应用程序中添加了一个日志过滤器,该过滤器将更改该日志过滤器中的请求。删除了请求被更改的部分。现在工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 2017-12-20
    • 1970-01-01
    • 2013-09-20
    • 2018-04-17
    • 1970-01-01
    相关资源
    最近更新 更多