java - Android文件上传使用loopj HttpClient

标签 java android file android-async-http

我正在将文件(图片、视频和音频)从 Android 端上传到 PHP 服务器。它适用于小文件。但是对于大文件,它会给出意想不到的结果,比如文件上传,但在 android 端它会给出超时异常。 所以请帮助我,我如何处理文件上传的所有场景。我如何使用 HttpMultipart 实体以及如何针对不同大小的文件设置相对超时。 我的代码是:

File myFile = new File(filePath);
RequestParams params = new RequestParams();
try {
    params.put("uploaded_file", myFile);
} catch (FileNotFoundException e) {
}

URL=getResources().getString(com.newing.R.string.server_adderess)+URL+fileType+"&lessonID="+LessonID;
client.post(URL, params, new AsyncHttpResponseHandler() {
    @Override
    public void onSuccess(String response) {
        Log.w("async", "success!!!!");
        UtilityFunctions.showNotification(getApplicationContext(),
            "File uploading completed.");
        stopSelf();
    }

    @Override
    public void onFailure(Throwable error) {
        Log.w("async", "failure!!!!");
        UtilityFunctions.showNotification(getApplicationContext(),
            "File couldn't upload. Please try later.");
        stopSelf();
    } 
});

最佳答案

您可以尝试使用 Ion 是一个很棒的异步网络和图像加载库 https://github.com/koush/ion

上传文件的简单例子

Ion.with(getContext(), "https://koush.clockworkmod.com/test/echo") .uploadProgressBar(uploadProgressBar) .setMultipartFile("文件名.zip", 新文件("/sdcard/文件名.zip")) .asJsonObject() .setCallback(...)

查看项目站点以获取更多示例和 wiki

关于java - Android文件上传使用loopj HttpClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20993844/

相关文章:

java - 删除 lwuit 列表中的索引

java - 获取索引时需要 EqualIgnoreCase

matlab - 从 Matlab 编辑器恢复较长的最近文件列表

python - 如何从文件中打印特定行

c - 如何比较两个文件并显示 C 中的所有差异?

java - WebSocket session 中对象的处理

Java 以前的数组值设置为 0

java - BCrypt:如何从我正在散列的字符串中生成盐?

android - 如何在 Google Maps Android API V2 中获取位置及其更新

java - 如何以编程方式创建其中包含 EditText 的选项卡?