我正在使用Okhttp(com.squareup.okhttp3:Okhttp:3.12.10)使用以下代码将照片上传到服务器
MultipartBody.Builder builder = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("imageType", Img_tag)
.addFormDataPart("created", Calendar.getInstance().getTime() + "")
.addFormDataPart("comment", comment + ""))
for (int i = 0; i < IMG_PATHs.size(); count = ++i) {
String IMG_Name = IMG_PATHs.get(i).substring(IMG_PATHs.get(i).lastIndexOf("/") + 1);
String IMG_Extention = IMG_Name.substring((IMG_Name.lastIndexOf(".") + 1));
builder.addFormDataPart("imageFile" + i, IMG_Name,
RequestBody.create(MEDIA_TYPE, new File(IMG_PATHs.get(i))))
.addFormDataPart("ext" + i, IMG_Extention);
}
builder.addFormDataPart("count", count + "");
MultipartBody requestBody = builder.build();
Request request = new Request.Builder()
.url(PTHOT_UPLOAD_PATH)
.post(requestBody)
.build();
现在,在我更新到android Q中的作用域存储后,我有了一个Uri列表,我应该对这个上传照片的请求做什么更改?
这是在发表评论后解决的:InputStreamRequest estbody。
https://github.com/square/okhttp/issues/3585#issuecomment-327319196
它应该很简单:我必须发送文件和一些字符串值。但我想不出怎么做。 根据我发现的一些样本,我首先尝试了以下内容: 它给我一个“400错误请求”错误。 我做错了什么? 编辑:顺便说一句,上面的“getfile()”返回一个File对象。其余的参数都是字符串和int。
在Android中使用OKHTTP以多部分方式上传单个大文件(更具体地说,上传到s3)时,我有什么选择?
问题内容: 无法将图片上传到。现在,如果选择的文件是,我希望能够将文件转换为并将转换后的文件上传到。我能够在转换到与仅如果我给了文件的路径。如何从中访问上载的文件?下面是我的代码: 我正在尝试像这样访问上载的文件: 因为在函数中传递了一个参数。 我的表格: 我在过程的哪一部分转换文件? 请帮忙。非常感谢。 问题答案: 您正在尝试在本地处理文件。该文件必须是您服务器的文件系统,或者至少要在上公开可用
我正在尝试从sdcard拍摄照片,它是工作的情况下,当用户选择从谷歌照片,但给出一个curserindexoutofbound错误时,从任何其他应用程序,如gallery或file Manager。这是一段代码。 OnActivity Result`{if(requestCode==PICK_IMAGE_REQUEST&&resultCode==activity.result_ok&data!=n
可能的重复: 这个
问题内容: 我想使用Ajax通过模式上传文件。我怎样才能做到这一点? 我的模态: 这是我的JavaScript文件: 这是我的控制器: 但它返回错误500。我认为Ajax不接受使用Bootstrap模式的文件上传。 问题答案: 您可以像这样通过ajax使用引导程序模式上载文件。 在表单标签中,使用属性enctype和html如下所示: js代码: 在您的控制器端,您可以执行以下功能来上传图像。