我在使用 POST 请求发送文件时遇到问题。如果 fileName 有括号,则服务器根本不会收到文件,否则服务器会收到我插入的名称的文件。
我已经尝试过使用
- volley library
- appach httpmime 不同版本
- Android Asynchronous Http Client
和我遇到相同的结果。
这是我使用的代码
String fileName = "link[image]";//name of the parameter
HttpContext localContext = new BasicHttpContext();
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setLaxMode();
builder.setCharset(Charset.forName("UTF-8"));
builder.addBinaryBody(fileName, image, ContentType.APPLICATION_OCTET_STREAM, image.getName());//image - it's a File
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(URL);
HttpEntity entity = builder.build();
post.setEntity(entity);
HttpResponse response = client.execute(post, localContext);
HttpEntity httpEntity = response.getEntity();
String result = EntityUtils.toString(httpEntity);