Есть ли способ отправить медиа-файл как часть запроса в Spring Boot? - PullRequest
1 голос
/ 07 октября 2019

Я новичок в программировании и ищу решение моей проблемы. Здесь я опишу свою проблему настолько ясно, насколько смогу. Итак, я работаю над проблемой, где я должен создать API, который будет принимать (String1, String2, Mediafile (mp3), Mediafile (txt)), а затем я должен загрузить эти файлы куда-нибудь еще. Здесь я хочу знать, ожидаем ли мы Media Files в формате byte [] или есть ли какой-нибудь способ получить этот Mediafile как есть (не в формате Byte).

package com.self.projects;

import java.io.IOException;

import org.springframework.boot.json.JsonParseException;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

@RestController

@RequestMapping("/hellomedia")

public class TestMediafile {

@RequestMapping(value = "addDetails", method = RequestMethod.POST , consumes = "multipart/form-data")
public StudentClassReport addProduct(
        @RequestParam String studentReportJson, 
        @RequestParam MultipartFile report, 
        @RequestParam MultipartFile transcription,
        @RequestParam int marks) throws JsonParseException, JsonMappingException, IOException {
 studentClassReport studentReport  = new objectMapper().readValue(studentReportJson, StudentClassReport.class);
 byte[] myReport = report.getBytes();
 byte[] myTranscription = transcription.getBytes();
 studentReport.setTranscription(myTranscription);
 studentReport.setReport(myReport); 
 return studentReport; 
}

}

...