android - 如何使用 Volley 将多个文件上传到节点 js 服务器?
问题描述
我是 android 新手,我想将多个文件上传到我的 Node.js 服务器,我正在使用 volley 生成请求。
我需要将多个图像存储在数组中,而不是需要将该数组传递给 server 。
我可以将单个文件上传到服务器,但我无法上传多个文件,任何人都可以帮助我如何实现这一点。
谢谢
但我想通过凌空抽射。
我的代码是
private void showChooser() {
ArrayList<Integer> moviesList = new ArrayList<>();
moviesList.add(R.drawable.cart);
moviesList.add(R.drawable.carts);
moviesList.add(R.drawable.userimage);
moviesList.add(R.drawable.voucher);
MultipartBody.Builder builder = new MultipartBody.Builder()
.setType(MultipartBody.FORM);
for(int i = 0 ; i < moviesList.size(); i++) {
File file = new File(String.valueOf(moviesList.get(i)));
if(file.exists()){
final MediaType MEDIA_TYPE = MediaType.parse(String.valueOf(moviesList.get(i)));
builder.addFormDataPart("my_images[]",file.getName(),RequestBody.create(MEDIA_TYPE,file));
}
else {
Log.d("Hello", "file not exist ");
}
}
RequestBody requestBody = builder.build();
Request request = new Request.Builder()
.url(urls)
.post(requestBody)
.build();
OkHttpClient client = new OkHttpClient.Builder().build();
Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
Log.d("Response is :",String.valueOf(response));
Toast.makeText(getApplicationContext(),"Done",Toast.LENGTH_LONG).show();
}
});
解决方案
推荐阅读
- java - 无法使用 gradle 构建项目
- awk - AWK:有条件地比较一个文件中的两列
- python - 使用 python 从应用程序和服务日志中获取事件日志
- html - 即使内容不是太大而无法容纳,我如何始终显示滚动条的栏
- node.js - Express 项目中对 JS 库 (node-gtf) 的 Typescript 支持
- ffmpeg - 拉取功能错误;打开 URL 时,“...”的 keepalive 请求失败,重试新连接
- arrays - VBA 过滤器函数在从范围创建的数组上引发“运行时错误 13:类型不匹配”错误
- c - 计算c中的单个字符
- php - 使用未定义的常量 STDIN - 集成谷歌日历 API 时假定为“STDIN”
- powershell - 如何在 Powershell 中修剪分支名称“refs/heads/feature/branch name”?