【发布时间】:2016-01-15 13:28:42
【问题描述】:
我正在尝试从本地 Drawable 文件夹上传文件,但出现错误。我尝试了在互联网上找到的几个代码 sn-ps(一些来自 stackoverflow),但似乎没有任何效果。我的问题似乎是 File 对象的实例化,以便我可以从中创建 FileBody ,然后通过 addPart 方法将其添加到 MultipartEntityBuilder 中。一切看起来都正常并且可以编译,但是当 HttpClient 在运行时执行帖子时,我收到一个错误,提示文件名太长。
这里是代码 sn-p。我在 AsyncTask 的 doInBackground 事件中有这个:
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(HTTP.USER_AGENT, global.GeUserAgent());
HttpPost httppost = new HttpPost(***URLHERE***);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
InputStream ins = getResources().openRawResource(R.drawable.IMAGE_I_AM_TRYING_TO_UPLOAD_HERE);
BufferedReader br = new BufferedReader(new InputStreamReader(ins));
StringBuffer sb = new StringBuffer();
String line;
while((line = br.readLine()) != null){
sb.append(line);
}
file1 = new File(sb.toString());
FileBody fileBody = new FileBody(file1);
builder.addPart("file1",fileBody);
httppost.setEntity(builder.build());
HttpResponse response = httpclient.execute(httppost);
有人有什么想法吗?提前谢谢你。
【问题讨论】:
标签: java android file bufferedreader