我必须发送一个图片文件(可以是视频顺便说一句),在手机上挑选或拍摄。 问题如下: - Android版本可以预先kitkat - 当我可能只有FileDescriptor时,Retrofit接受一个使用File或字节数组构建的RequestBody
看到其他帖子,看起来从手机中检索资产是真实的*** 我明白这个问题很广泛! ....这就是问题
答案 0 :(得分:0)
我带来的是以下内容: - 为了图片 fis是一个基于FileDescriptor的inputStream,如
FileInputStream fileInputStream = new FileInputStream(fileDescriptor);
然后我读取inputStream以获得byteArray
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] result = null;
try {
byte[] input = new byte[fis.available()];
int read;
while ((read = fis.read(input)) != -1) {
out.write(input, 0, read);
}
result = out.toByteArray();
fis.close();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
在我像往常一样创建一个Requestbody之后,我将其传递给使用特殊零件值的特殊后期多部分方法进行改造
... , @Nullable @Part("picture\"; filename=\"picture\" ") RequestBody picture ...
这真的很难找到但是由于改装仍然处于测试阶段,它会发生很大变化并且缺少文档,希望这有帮助