gpt4 book ai didi

javascript - 如何解决通过 REST 服务上传文件时的 400() 错误

转载 作者:行者123 更新时间:2023-12-01 02:54:01 25 4
gpt4 key购买 nike

我有一个程序(Spring Boot),它使用 REST 服务将文件上传到服务器或任何其他给定位置。但是当我使用相同的服务时,发生了下面的错误,下面就是问题所在。

通过 REST 服务上传文件时,我收到 400() 错误,没有任何说明。该应用程序是Spring boot应用程序,它使用java脚本前端通过实现的rest服务上传和下载文件。

帮忙解决这个问题。感谢您的帮助。谢谢。

错误是:enter image description here

下面是代码:JS:

document.getElementById('import2').onclick = function () {

var files = document.getElementById('selectFiles').files;
console.log(files);
if (files.length <= 0) {
return false;
}

//serverUploaded = true;

var form_data = new FormData(files.item(0));
//from new NLP
$.ajax({
type: "POST",
url: "http://localhost:8080/gsta/upload",
processData: false,
contentType: false,
async: false,
cache: false,
data: form_data,
success: function (result) {
//alert(JSON.stringify(result));
//$("#out_lexalytics").html(JSON.stringify(result));
if (result) {
if(result.statusCode == 200)
{
serverUploaded = true;
}
}
}
});

}

REST 服务:

@PostMapping("/upload")
// If not @RestController, uncomment this
@ResponseBody
public ResponseEntity<?> uploadFile(@RequestParam("data") MultipartFile uploadfile) {

logger.debug("Single file upload!");

if (uploadfile != null && uploadfile.isEmpty()) {
return new ResponseEntity("please select a file!", HttpStatus.OK);
}

try {

saveUploadedFiles(Arrays.asList(uploadfile));

} catch (IOException e) {
e.printStackTrace();
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
}

return new ResponseEntity("Successfully uploaded - " + uploadfile.getOriginalFilename(), new HttpHeaders(), HttpStatus.OK);

}

最佳答案

我在本地环境中使用 postman 创建了相同的场景,如下所示; enter image description here

服务器端有一个小变化(@RequestMapping(value = "/upload", method = RequestMethod.POST));

@RequestMapping(value = "/upload", method = RequestMethod.POST)
public ResponseEntity<?> uploadFile(@RequestParam("data") MultipartFile uploadfile) {
logger.debug("Single file upload!");
if (uploadfile != null && uploadfile.isEmpty()) {
return new ResponseEntity("please select a file!", HttpStatus.OK);
}
return new ResponseEntity("Successfully uploaded - " + uploadfile.getOriginalFilename(), new HttpHeaders(), HttpStatus.OK);
}

它有效。

关于javascript - 如何解决通过 REST 服务上传文件时的 400() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46824072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com