Httpclient上传文件流 接收的问题
1,做了一个上传文件的工具类 使用的是 Apache的 httpclient,传文件服务端已经成功了,但是传一个文件的输入流给服务器,服务器 使用 @RequestParam("uploadFile") MultipartFile file作为方法参数 接收不到,请问我该怎么接收传过来的输入流呢?
上图是传递File 对象的客户端
上图是服务端接收文件
这个是传递文件输入流的客户端
但是我不知道服务端怎么接收流
回答:
感谢各位的回答,只需要在客户端加上相应的参数就行了
回答:
是否报错呢,服务器端断点调试一下,看一下方法有没有进去。
回答:
public static String FilesUpload_transferTo_spring(MultipartFile multipartFile, String filePath) { // 获取文件后缀
String suffix = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf("."));
//filePath+fileName 复合文件名
String absolutePath = getAndSetAbsolutePath(filePath, suffix);
// // 获取相对路径
// String relativePath = getRelativePath(filePath, suffix);
try {
//save file
multipartFile.transferTo(new File(absolutePath));
//return relative Path
return absolutePath;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
我之前用到过的一个接收方式,不知道适不适合你的情况.
回答:
//========MultipartEntity HttpPost post3 = new HttpPost("http://remotehost/post.do");
File upfile = new File("C:\\test.jpg");
MultipartEntity entity3 = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, null, Charset.forName("UTF-8"));
entity3.addPart("file_name", new StringBody(upfile.getName()));
entity3.addPart("file_contents", new FileBody(upfile));
post3.setEntity(entity3);
new DefaultHttpClient().execute(post3);
回答:
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public String uploadFile(HttpServletRequest request) throws InterruptedException { String dept=request.getParameter("department");//获取所属部门,将文件存放到所对应的路径
**MultipartFile file = ((MultipartHttpServletRequest) request).getFile("file");**
String fileName=file.getOriginalFilename().substring(0,file.getOriginalFilename().indexOf("."));
String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
if(!"cpt".equals(suffix)){
return "'"+fileName+"."+suffix+"'" +"的文件类型是不被支持的";
}
File filePath=new File("d:\\template\\"+dept);
if(!filePath.exists()){
filePath.mkdir();
}
File file1 =new File(filePath,fileName+".cpt");
try {
file.transferTo(file1);
} catch (IOException e) {
log.error("文件上传失败>>>>>"+fileName+file.getOriginalFilename());
e.printStackTrace();
return "error";
}
return "success";
}
以上是 Httpclient上传文件流 接收的问题 的全部内容, 来源链接: utcz.com/p/177031.html