javascript - MultipartFile 数组未发送到 spring Controller

标签 javascript java spring spring-mvc

我使用 JS 向我的 spring Controller 发送一个 post 请求,但无法接收 multipartFile 数组,我得到的所有数据都是 null。我发送了 3 个单独的参数,如下所示。 (艺术作品、轨道和元数据)

    formData.append("artwork", $scope.image[0]);
    formData.append("tracks", $scope.files);
    formData.append("metadata",JSON.stringify(contentData));


    // $http.post('/review/' + $scope.objectID, formData).then("Successfully got objects !", "Successfully got objects !");
    $http({
    url: '/review/'+ $scope.objectID,
    method: 'POST',
    headers: {'Accept': 'application/json', 'Content-Type': undefined},
    data: formData,
    transformRequest: function (data, headersGetterFunction) {
      return data;
    }
  }).

我确实从参数接收元数据(它是一个字符串)和艺术品(它是一个 MultiPartFile),但轨道(Array MultiPartFile)为空。

这是我的 Controller

    @RequestMapping(value = "/review/{id}", method = RequestMethod.POST, produces = "application/json")
@ResponseStatus(value=HttpStatus.OK)
public void formHandler(
    @PathVariable("id") String id,
    @RequestPart("artwork") MultipartFile artwork,
    @RequestPart("tracks") MultipartFile[] tracks, 
    @RequestPart("metadata") String object) {


   // SubmissionsRequestObject subObject = getSubObject(object, artwork, tracks);
   // System.out.println(subObject.getAlbumname());
    System.out.println(object);
    System.out.println("-----");
   System.out.println(tracks.length);
   System.out.println(tracks);
   System.out.println("-----");
   for (MultipartFile t : tracks){
        System.out.println("count");
   }
   System.out.println(artwork.getOriginalFilename());
   // new SRP(subObject);



}

最佳答案

您可以在将 $scope.files 附加到 formData 时尝试此操作;)

for (var file in $scope.files) {
    formData.append("tracks", file);
}

关于javascript - MultipartFile 数组未发送到 spring Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38130229/

相关文章:

javascript - Nodejs, Mongoose 寻找唯一的 token 导致无限循环

javascript - 如何清除所有 Firebug JS 断点?

javascript - MongoDB 在本地运行还是通过 Atlas 运行?

java - ImageView 中的 gif 持续时间更长

java - Gson 在 fromJson 方法中崩溃

java - 通过命令提示符运行 maven

javascript - iOS Safari 无法通过 AJAX 发送表单数据

java - 连接到 JDBC 事务的开始

java - 如何使用 IntelliJ 构建共享域模型的多个 mvc 项目

java - Spring boot + (JPA)-类别层次结构-递归遍历