【问题标题】:How to handle uploaded files in PrimeNG如何在 PrimeNG 中处理上传的文件
【发布时间】:2017-06-24 03:26:04
【问题描述】:

Angular 新手在这里。

在我的 Angular 项目中,我需要提供文件上传功能。 我正在使用 PrimeNg FileUpload,因为它看起来很容易使用。我可以通过指定 PrimeNG 教程中提供的必要属性来使其工作。

问题是我正在使用 Angular 2 以及 Spring MVC 和 rest API。 虽然我能够上传文件,但该功能纯粹是在客户端。我无法将文件对象传递给我的 spring 控制器,也无法从那里对其进行操作。

谁能告诉我如何将上传的文件从 PrimeNg 文件上传到我的 spring 控制器?提前谢谢你:D :)

【问题讨论】:

    标签: spring angular spring-mvc file-upload


    【解决方案1】:

    文件上传的客户端实现无关紧要,服务器只看到一个multipart/form-data 请求。

    我们正在使用这种方法:

    @RequestMapping(value = "/your/path", 
        method = RequestMethod.POST, 
        produces = MediaType.APPLICATION_JSON_VALUE,
        consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    @ResponseStatus(HttpStatus.CREATED)
    public YourResponseRepresentation uploadContent(@RequestParam("file") MultipartFile file) {
    
        // You can now access the file's input stream, file name, ...
    }
    

    请参阅org.springframework.web.multipart.MultipartFile 了解可用的详细信息(部分操作 Spring MVC)。我们使用 Apache Commons FileUpload 实现来完成多部分的繁重工作,并为您提供一个简单的读取流。

    只需添加适当的commons-fileupload 版本作为依赖项,您就可以开始了...

    【讨论】:

    • 哇!!这对我有用,谢谢:D 虽然既然我们在这里,我可以一直问.. 如果我的文件上传一次接受多个上传,后端代码会怎样?您的建议非常适合单个文件上传,但当我上传多个文件时往往会崩溃。再次感谢。 :D :)
    • 取决于primeFaces文件上传的实现:它是为每个选定的文件执行multipart/form-data POST,还是将所有文件分组在一个POST中,具有多个部分/表单字段?
    • 它将所有文件分组在一个帖子中,包含多个部分。 :)
    • 虽然幸运的是我发现了如何通过更改您最初建议的一些参数来做到这一点。感谢所有帮助:)
    猜你喜欢
    • 2012-11-15
    • 2019-11-29
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 2016-01-10
    • 1970-01-01
    • 2016-09-08
    相关资源
    最近更新 更多