。。。。直接上代码得了。。没啥好说的。。。
单文件:
//上传 --暂时放在测试服务器 关于描述和类型参数暂时不知道如何使用
@RequestMapping(value="/upload",method = RequestMethod.POST)
public Result upload(@RequestPart(value = "filecontent") MultipartFile multipartFile,
@RequestParam("types") String types,
@RequestParam("describe") String describe) throws Exception{
Result result;
try {
String fileName = multipartFile.getOriginalFilename();
String urlstr = "http://xxxxxx:1010/book/photo/"+fileName;
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(urlstr);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setCharset(Charset.forName("UTF-8"));
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
System.out.println("filename :"+fileName);
try {
builder.addBinaryBody("filecontent",multipartFile.getInputStream(), ContentType.MULTIPART_FORM_DATA,fileName);
} catch (IOException e) {
e.printStackTrace();
}
HttpEntity entity = builder.build();
httpPost.setEntity(entity);
HttpEntity resultentity= httpClient.execute(httpPost).getEntity();
String str = EntityUtils.toString(resultentity, Charset.forName("UTF-8")));
result = new Result(null,"1",str);
} catch (IOException e) {
result = new Result(null,"0","上传失败 失败日志:"+e.getLocalizedMessage());
} catch (ParseException e) {
result = new Result(null,"0","上传失败 失败日志:"+e.getLocalizedMessage());
}
return result;
}
测试filecontent. 选项后面讲text选项改成 file即可。点击后面的select file 就行了

多文件:
@RequestMapping(value="/upload",method = RequestMethod.POST)
public Result upload(@RequestPart(value = "filecontent") MultipartFile[] multipartFiles,
@RequestParam("question_types") String question_types,
@RequestParam("question_describe") String question_describe) throws Exception{
Result result;
try {
if(multipartFiles.length==0){
result = new Result(null,"0","文件为空,请选择");
return result;
}
System.out.println("描述:"+question_describe);
System.out.println("类型:"+question_types);
CloseableHttpClient httpClient = HttpClients.createDefault();
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
String urlstr = "http://xxxxxx:1010/book/photo/";
HttpPost httpPost = new HttpPost(urlstr);
builder.setCharset(Charset.forName("UTF-8"));
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
for(MultipartFile multipartFile:multipartFiles){
String fileName = multipartFile.getOriginalFilename();
System.out.println("filename :"+fileName);
try {
builder.addBinaryBody("filecontent",multipartFile.getInputStream(), ContentType.MULTIPART_FORM_DATA,fileName);
} catch (IOException e) {
e.printStackTrace();
}
}
HttpEntity entity = builder.build();
httpPost.setEntity(entity);
HttpEntity resultentity= httpClient.execute(httpPost).getEntity();
String str = EntityUtils.toString(resultentity, Charset.forName("UTF-8"));
result = new Result(null,"1",str);
} catch (IOException e) {
result = new Result(null,"0","上传失败 失败日志:"+e.getLocalizedMessage());
}
return result;
}
测试:

本文提供了一个文件上传功能的实现案例,包括单文件和多文件上传的处理方式,使用了MultipartFile进行文件读取,并通过HTTP Post请求将文件发送到指定服务器。
 + 普通参数类型 实现上传功能&spm=1001.2101.3001.5002&articleId=111166052&d=1&t=3&u=4de0ca93c43443b2aa811938c04352b9)
7488

被折叠的 条评论
为什么被折叠?



