【问题标题】:Android - Send local file via HTTP postAndroid - 通过 HTTP post 发送本地文件
【发布时间】:2014-03-05 09:32:24
【问题描述】:

我正在尝试使用此行通过 HTTP 帖子发送本地文件(仅限音乐或视频

InputStreamEntity reqEntity = new InputStreamEntity(
   new FileInputStream(file), -1);

但是,首先我需要获取与文件对应的 File 对象。我使用 Intent 来选择文件。在我的onActivityResult() 中,我可以检索 Intent 数据。在执行data.getData() 时,我获得了一条看起来像content://.... 的路径我用getContentResolver 方法(来自Activity)尝试了很多东西,但我无法让它工作。

谁能告诉我它有什么问题?

【问题讨论】:

    标签: android file storage android-contentresolver


    【解决方案1】:

    您可以轻松地将Uri 转换为InputStream,而无需File 对象,只需在您的活动中调用getContentResolver().openInputStream(Uri);

    【讨论】:

    • 是的,我知道这一点,但是我怎样才能通过 HTTP POST 发送呢?
    • 嗯,你用什么方式发送数据? HttpURLConnectionHttpClient?
    • 带有HttpPost的HttpClient
    • 您需要下载一个jar文件httpmime-versionxx.jar,使用MultipartEntity进行文件上传。致电multipartEntity.addPart("param_name", new InputStreamBody(inputsream, filename));,网上有很多样品。原谅我的英语......
    • 我不想使用任何额外的 jar,因为我需要的所有东西都已经打包在 Android 中了。我只是不知道如何使它工作。
    【解决方案2】:

    这可以使用HTTP POST 协议通过使用setRequestMethod 来实现,例如: httpconn.setRequestMethod(POST)

    你也试过这个解决方案吗?

    Uploading files to HTTP server using POST on Android.

    【讨论】:

    • 是的,谢谢,我已经知道了。我的问题是:如何选择本地文件以发送(视频或音乐)?
    猜你喜欢
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 2013-12-10
    • 2011-02-03
    • 2010-11-11
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多