使用curl将android本地文件上传到远程Web服务器

时间:2018-11-06 14:23:02

标签: android linux curl

我正在尝试使用curl从我的android设备上传文件。该文件位于

  

/sdcard/Download/fileToUpload.txt

以下是我通过Terminal应用程序使用的命令:-

curl -i -X POST -H "Content-Type: multipart/form-data" \            
                -F "content=@/sdcard/Download/fileToUpload.txt" \
                 http://192.168.1.104/android/upload.php

我已经测试了从台式机正常运行的相同命令。 过去几个小时我都在head头。请让我知道怎么了。

  

PS:我担心这个问题在哪里会很愚蠢。

     

编辑:-我不想植根我的设备。因为这将是我的最后选择。

2 个答案:

答案 0 :(得分:0)

Curl库已安装在您的桌面上,但这并不意味着您的android设备上已安装了相同的库(终端应用程序在您的设备上运行)。要在Android设备上安装curl库,您可能应该必须root设备,下载curl二进制文件并将其安装在设备上。您可以按照本指南了解如何:https://appuals.com/install-curl-openssl-android/

答案 1 :(得分:0)

您可以使用Retrofit(一个非常强大的Android库),提供有用的API通过http请求与服务器进行接口。

在特定情况下,您可以根据此模板在界面文件中使用多部分形式的数据

@Multipart
@POST("/android/upload.php")
Call<Void> sendFiles(
        @Part MultipartBody.Part[] files
);

然后,您必须在您的特定代码中实例化改造:

Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(endpoint)
            .build();