Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 您将如何通过Http发布多部分文件?_Java_Http_File Upload_Vaadin_Multipartfile - Fatal编程技术网

Java 您将如何通过Http发布多部分文件?

Java 您将如何通过Http发布多部分文件?,java,http,file-upload,vaadin,multipartfile,Java,Http,File Upload,Vaadin,Multipartfile,我正在尝试用Java/springboot/Vaadin构建一个文件上传程序 那个上传者给了我一个记忆缓冲。如何将其发布到我的后端,如下所示: @RestController @RequestMapping("files") public class FilesController { ... @PostMapping public ResponseEntity<String> upload(@RequestParam("file&q

我正在尝试用Java/springboot/Vaadin构建一个文件上传程序

那个上传者给了我一个记忆缓冲。如何将其发布到我的后端,如下所示:


@RestController
@RequestMapping("files")
public class FilesController {
...
    @PostMapping
    public ResponseEntity<String> upload(@RequestParam("file") MultipartFile file) {
        try {
            fileService.save(file);
            return ResponseEntity.status(HttpStatus.OK)
                    .body(String.format("File uploaded successfully: %s", file.getOriginalFilename()));
        } catch (Exception e) {
            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
                    .body(String.format("Could not upload the file: %s!", file.getOriginalFilename()));
        }
    }
...

但是我不知道如何添加请求的多部分文件。谢谢:)

我还没有测试过这段代码,所以它可能有效,也可能无效。它是基于a和JavaDoc的


我还没有测试过这段代码,所以它可能有效,也可能无效。它是基于a和JavaDoc的

        CloseableHttpClient httpclient = HttpClients.createDefault();
        HttpPost httppost = new HttpPost("http://localhost:9091/upload/files");

        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();

FileData fileData = memoryBuffer.getFileData();

MultipartEntityBuilder builder = MultipartEntityBuilder.create();         
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.addBinaryBody("blabla", fileData.getFile(), 
    ContentType.create(fileData.getMimeType()), 
    fileData.getFileName());
HttpEntity entity = builder.build();
httppost.setEntity(entity);