java文件上传中间件_java 调用Spring接口上传文件及其他参数填充

这里将告诉您java 调用Spring接口上传文件及其他参数填充,具体完成步骤:

第一步:在Spring配置中添加以下内容

class="org.springframework.web.multipart.commons.CommonsMultipartResolver"

p:defaultEncoding="UTF-8" p:maxUploadSize="540000000" p:uploadTempDir="fileUpload/temp">

第二步:编写上传Spring接口

/**

* 上传专报

*

* @param typeId

* @param userId

* @param file

* @return

*/

@ResponseBody

@RequestMapping(params = "uploadDoc")

public Return uploadDoc(@RequestParam(value = "file", required = true) MultipartFile file,String newFileName) {

Return r = new Return();

System.out.println(newFileName);

try {

// 3.保存word文件

if (file != null) {

// 文件存入临时目录

String thisFile = SaveFile.save(file, newFileName);

if(thisFile!=null){

r.setE(1);

r.setS("上传专报成功!");

}else{

r.setE(0);

r.setS("上传专报失败!");

}

}

} catch (Exception e) {

e.printStackTrace();

r.setS("系统异常");

}

return r;

}

/**

* 保存文件到临时目录

*

* @param files

* @param 保存文件路径包含文件名称

* @return

*/

public static String save(MultipartFile files,String newFilePath) {

String fileName = files.getOriginalFilename();

if (fileName == null) {

return null;

}

File file = new File(newFilePath);

if(!file.exists()){

try {

FileOutputStream fop = new FileOutputStream(file);

file.createNewFile();

// 获取文件字节

byte[] contentInBytes = files.getBytes();

fop.write(contentInBytes);// 写入本地

fop.flush();

fop.close();

return newFilePath;

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

return null;

}

第三步:编写上传程序

上传程序所需jar:httpclient-4.5.3.jar,httpmime-4.5.3.jar

/**

* 上传文件到指定地址URL

*

* @param 本地文件

* @param 请求接口路径

* @param newfilePath 其他参数

* @return 是否成功

*/

public static boolean uploadFile(String filePath, String urlStr, String newfilePath) {

try {

String sTestsetFile = newfilePath;

String sURL = urlStr;//"http://localhost:8080/qxfw/productController.do?uploadDoc";

CloseableHttpClient httpClient = HttpClients.createDefault();

HttpPost uploadFile = new HttpPost(sURL);

MultipartEntityBuilder builder = MultipartEntityBuilder.create();

builder.addTextBody("newFileName", newfilePath, ContentType.TEXT_PLAIN);

// 把文件加到HTTP的post请求中

File f = new File(sTestsetFile);

builder.addBinaryBody("file", new FileInputStream(f), ContentType.APPLICATION_OCTET_STREAM, f.getName());

HttpEntity multipart = builder.build();

uploadFile.setEntity(multipart);

CloseableHttpResponse response = httpClient.execute(uploadFile);

HttpEntity responseEntity = response.getEntity();

String sResponse = EntityUtils.toString(responseEntity, "UTF-8");

if (sResponse.contains("成功")) {

return true;

} else {

return false;

}

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

return false;

}

java 调用Spring接口上传文件及其他参数填充就为您介绍到这里,感谢您关注懒咪学编程c.lanmit.com.

本文地址:https://c.lanmit.com/bianchengkaifa/Java/13367.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值