android 如何往httpd文件服务器上传文件

这篇博客介绍了如何在Android中上传文件到HTTPD服务器,使用PUT请求的方式替代命令行操作。提供了详细的Android代码示例,展示了如何创建RequestBody并构建OkHttp请求。同时,文章还提到了Apache HTTPD服务需要的配置调整,以支持文件上传,参考链接提供了更多配置详情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查了大量的博客,发现上传文件到httpd 可以通过命令:

curl -T testfile.txt http://localhost:8080/uploads/

但是一般android 不会用命令传文件:

上面的命令相当与用http 的put 请求方式上传文件到指定目录。

android 代码可以这样写:

/**

 * @param mediaType MediaType

 * @param uploadUrl put请求地址

 * @param localPath 本地文件路径

 * @return 响应的结果 和 HTTP status code

 * @throws IOException

 */

 public String put(MediaType mediaType, String uploadUrl, String localPath) throws IOException {

 File file = new File(localPath);

 RequestBody body = RequestBody.create(mediaType, file);

 Request request = new Request.Builder()

 .url(uploadUrl)

 .put(body)

 .build();

 //修改各种 Timeout

 OkHttpClient client = new OkHttpClient.Builder()

 .connectTimeout(600, TimeUnit.SECONDS)

 .readTimeout(200, TimeUnit.SECONDS)

 .writeTimeout(600, TimeUnit.SECONDS)

 .build();

 //如果不需要可以直接写成 OkHttpClient client = new OkHttpClient.Builder().build();
 Response response = client

 .newCall(request)

 .execute();

 return response.body().string() + ":" + response.code();
}

另外httpd 服务需要修改一些配置才支持上传文件。可以参考Apache httpd 配置可上传文件_之芫的博客-优快云博客_httpd 上传文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值