@RequestMapping(value = "/upload",
method = RequestMethod.POST,
consumes = MediaType.MULTIPART_FORM_DATA_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody String upload(
@RequestParam("file") final MultipartFile file,
@RequestParam("name") final String name) {
// your work here using the file. you can use file.getBytes()
// or get an input stream from file using file.getInputStream()
// and save it.
return "{\"status\" : \"success\"}";
}
file引数にファイルをアップロードし、name引数にStringパラメータ名を取得します。これは私が春4を(これはあなたがファイル名または総無について知らない場合で使用してマルチパートリクエストを処理し方法です
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import org.springframework.stereotype.Controller;
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.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
@Controller
public class FileUploadController {
@RequestMapping(value="/singleUpload")
public String singleUpload(){
return "singleUpload";
}
@RequestMapping(value="/singleSave", method=RequestMethod.POST)
public @ResponseBody String singleSave(@RequestParam("file") MultipartFile file, @RequestParam("desc") String desc){
System.out.println("File Description:"+desc);
String fileName = null;
if (!file.isEmpty()) {
try {
fileName = file.getOriginalFilename();
byte[] bytes = file.getBytes();
BufferedOutputStream buffStream =
new BufferedOutputStream(new FileOutputStream(new File("F:/cp/" + fileName)));
buffStream.write(bytes);
buffStream.close();
return "You have successfully uploaded " + fileName;
} catch (Exception e) {
return "You failed to upload " + fileName + ": " + e.getMessage();
}
} else {
return "Unable to upload. File is empty.";
}
}
@RequestMapping(value="/multipleUpload")
public String multiUpload(){
return "multipleUpload";
}
@RequestMapping(value="/multipleSave", method=RequestMethod.POST)
public @ResponseBody String multipleSave(@RequestParam("file") MultipartFile[] files){
String fileName = null;
String msg = "";
if (files != null && files.length >0) {
for(int i =0 ;i< files.length; i++){
try {
fileName = files[i].getOriginalFilename();
byte[] bytes = files[i].getBytes();
BufferedOutputStream buffStream =
new BufferedOutputStream(new FileOutputStream(new File("F:/cp/" + fileName)));
buffStream.write(bytes);
buffStream.close();
msg += "You have successfully uploaded " + fileName +"<br/>";
} catch (Exception e) {
return "You failed to upload " + fileName + ": " + e.getMessage() +"<br/>";
}
}
return msg;
} else {
return "Unable to upload. File is empty.";
}
}
}
JSON形式(POSTの一番下の行)のIDを検証するにはどうすればよいのですか?また、ペイロードの内容をすべてString形式にしたいのですか? – phalco
上記のリクエストフォーマットは、Array(つまり、MultipartFile []ファイル)を維持する必要があるのか、またはMultipartFileファイルが機能するのかの2つの部分があります。 – phalco
こんにちは。これは私のために働いています。 – phalco