- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我也在 SO 和其他 tuts 中浏览过很多帖子。但我找不到任何最新的官方或其他不包含任何使用 volley 上传多个图像的过时代码的帖子。我开始知道在新的 android M 中删除和相关的 Apache HTTP 客户端,更喜欢在下面使用。
android {
useLibrary 'org.apache.http.legacy'
}
那么,任何人都可以帮助我使用新更新的已弃用的少 Volley 类进行多张图片上传吗?
最佳答案
您可以使用 here 中最新版本的 volley .这是一个非官方镜像,修复了一些小错误,源代码将定期与官方 volley 存储库同步。
用于 Gradle
compile 'com.mcxiaoke.volley:library:1.0.19'
或者你可以从 here 下载编译后的版本。
现在您可以在 org.apache.http.entity.mime
中的 MultipartEntityBuilder
的帮助下使用以下附加类使用 volley 发出多部分请求,而无需任何弃用代码。
使用示例
//Auth header
Map<String, String> mHeaderPart= new HashMap<>();
mHeaderPart.put("Content-type", "multipart/form-data;");
mHeaderPart.put("access_token", accessToken);
//File part
Map<String, File> mFilePartData= new HashMap<>();
mFilePartData.put("file", new File(mFilePath));
mFilePartData.put("file", new File(mFilePath));
//String part
Map<String, String> mStringPart= new HashMap<>();
mStringPart.put("profile_id","1");
mStringPart.put("imageType", "ProfileImage");
CustomMultipartRequest mCustomRequest = new CustomMultipartRequest(method, mContext, url, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
listener.onResponse(jsonObject);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
listener.onErrorResponse(volleyError);
}
}, mFilePartData, mStringPart, mHeaderPart);
您可以使用 httpmime-4.3.5.jar
和 httpcore-4.3.2.jar
来访问 MultipartEntityBuilder
和其他如果您的目标 API 23 及以上,则用于发出请求或在您的 gradle 中添加以下内容的方法。
android {
useLibrary 'org.apache.http.legacy'
}
我使用提到的 jar 的任何方式,它在 Android M 中也很有魅力。
更新
请注意,com.mcxiaoke.volley:library:1.0.19
已弃用且不再维护,请使用 jCenter
的官方版本。
compile 'com.android.volley:volley:1.0.0'
关于java - 用 Volley 上传多张图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34260160/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!