通过okhttp3方式调用另一个项目上传文件

OkHttp3文件上传接口

  项目中用到需要将文件上传到另一项目B上,项目B提供了一个文件上传的接口。就用到了在后台接口中发送post请求来将文件传过去。可以使用okhttp3的方式,非常简单。

1、加依赖

  首先项目加如下依赖:

 <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>okhttp</artifactId>
      <version>3.3.1</version>
  </dependency>
2、方法如下
/**
	 *
	 * @param url  远程项目上传接口地址
	 * @param uploadDir 文件保存类型路径,用于不同模块下分文件夹管理
	 * @param baseFileUrl 本地文件保存基路径
	 * @param relativeUrl 本地文件保存相对路径
	 * @return  调用远程项目上传接口的返回结果
	 */
	public String uploadFilePost(String url,String uploadDir,String baseFileUrl,String relativeUrl){

		File temporaryFile = new File(baseFileUrl+relativeUrl);
		if(!temporaryFile.exists()){
			return "";
		}
		RequestBody requestBody = new MultipartBody.Builder()
				.addFormDataPart("uploadDir", uploadDir) //参数一
				.addFormDataPart("fileUrl", relativeUrl) //参数二
				.addFormDataPart("file", temporaryFile.getName(),  /RequestBody.create(MediaType.parse("application/octet-stream"),temporaryFile)) //参数三,是一个文件
				.build();
		Request requestOk = new Request.Builder()
				.url(url)
				.post(requestBody) 
				.build(); //post请求含请求参数

		Response response;
		try {
			response = new OkHttpClient().newCall(requestOk).execute();
			String jsonString = response.body().string();
//			temporaryFile.delete();
			if(response.isSuccessful()){
				return jsonString;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "";
	}

  okhttp3发送文件就这样,挺简洁的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茁壮成长的凌大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值