相关疑难解决方法(0)

从mediastore获取URI的文件名和路径

onActivityResult从mediastore图像选择返回,我可以使用以下内容获取图像的URI:

Uri selectedImage = data.getData();
Run Code Online (Sandbox Code Playgroud)

将其转换为字符串可以得到:

content://media/external/images/media/47
Run Code Online (Sandbox Code Playgroud)

或者路径给出:

/external/images/media/47
Run Code Online (Sandbox Code Playgroud)

但是我似乎无法找到将其转换为绝对路径的方法,因为我想将图像加载到位图而不必将其复制到某处.我知道这可以使用URI和内容解析器完成,但这似乎在重新启动手机时中断,我想MediaStore在重新启动之间不会保持其编号相同.

android uri absolute-path mediastore

376
推荐指数
12
解决办法
32万
查看次数

使用Android SDK发布多部分请求

我正在尝试做一些我认为相对简单的事情:使用Android SDK将图像上传到服务器.我找到了很多示例代码:

http://groups.google.com/group/android-developers/browse_thread/thread/f9e17bbaf50c5fc/46145fcacd450e48

http://linklens.blogspot.com/2009/06/android-multipart-upload.html

但是对我来说都不起作用.我一直遇到的困惑是制作多部分请求真正需要的东西.Android的多部分上传(带图片)的最简单方法是什么?

任何帮助或建议将不胜感激!

android http multipartform-data android-sdk-2.1

78
推荐指数
4
解决办法
13万
查看次数

使用Java上传文件(带进度条)

我对Java 非常陌生,并且大部分时间都在教我自己,所以我开始构建一个applet.我想创建一个可以从本地磁盘中选择文件并将其作为multipart/form-data POST请求上传但有进度条的文件.显然,用户必须授予Java applet访问硬盘驱动器的权限.现在我已经完成了第一部分工作:用户可以使用JFileChooser对象选择一个文件,方便地返回一个File对象.但我想知道接下来会发生什么.我知道这File.length()将给我文件的总大小(以字节为单位),但是如何将所选内容发送File到网络,以及如何监控已发送的字节数?提前致谢.

java upload file-io progress-bar

30
推荐指数
4
解决办法
6万
查看次数

实体在MultiPartEntityBuilder中返回错误

我尝试过以下链接,但没有一个帮助解决问题.

在Android中使用MultipartEntityBuilder时,HttpPost返回错误

/sf/answers/1596220461/

这是代码

HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(Utility.AddProductWS);

MultipartEntityBuilder multipartBuilder = MultipartEntityBuilder.create();

/* example for setting a HttpMultipartMode */
multipartBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);

for (int i = 0; i < photos.size(); i++) {

    multipartBuilder.addBinaryBody("images[]", newFile(photos.get(i).getImagePath());
}

multipartBuilder.addTextBody("username", username.toString());
multipartBuilder.addTextBody("accept_best_offer", String.valueOf(acceptOffer.isChecked() ? 1 : 0));
multipartBuilder.addTextBody("accept_trade", String.valueOf(acceptTrade.isChecked() ? 1 : 0));
multipartBuilder.addTextBody("product_price", etProductPrice.getText().toString());
multipartBuilder.addTextBody("product_description", etProductDescription.getText().toString());

HttpEntity httpEntity = multipartBuilder.build();
httpPost.setEntity(httpEntity);  // Error line
HttpResponse response = httpClient.execute(httpPost);
Utility.showLog(TAG, EntityUtils.toString(response.getEntity()));
Run Code Online (Sandbox Code Playgroud)

错误

引起:java.lang.NoSuchFieldError:没有静态字段INSTANCE类型为Lorg/apache/http/message/BasicHeaderValueFormatter; 在类Lorg/apache/http/message/BasicHeaderValueFormatter中; 或其超类('org.apache.http.message.BasicHeaderValueFormatter'的声明出现在/system/framework/ext.jar中)

我正在使用httpcore-4.4.1httpmime-4.4.1库文件.

android android-asynctask multipartentity

4
推荐指数
1
解决办法
4872
查看次数