環境
- Android Studio
- httpclient 4.5.2
- httpcore 4.5.2
- httpmime 4.4.4
現在のソースコード
(new Thread(new Runnable() { @Override public void run() { String filename = "target.csv"; try { HttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost("phpファイル"); ResponseHandler<String> responseHandler = new BasicResponseHandler(); MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); File file = new File(filename); FileBody fileBody = new FileBody(file); multipartEntity.addPart("file", fileBody); httpPost.setEntity(multipartEntity); httpClient.execute(httpPost, responseHandler); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } })).start();
ここでのtarget.csvはAndroid上でファイルを作成しています。
もしかして、Android上で作成したファイルは送信できないとかあるのでしょうか?
エラー
httpClient.execute(httpPost, responseHandler);
の時点でエラーとなっています。
06-01 18:13:35.422 15117-15189/com.example.hogehoge E/AndroidRuntime: FATAL EXCEPTION: Thread-2951 Process: com.example.hogehoge, PID: 15117 java.lang.NoSuchFieldError: No static field INSTANCE of type Lorg/apache/http/message/BasicHeaderValueFormatter; in class Lorg/apache/http/message/BasicHeaderValueFormatter; or its superclasses (declaration of 'org.apache.http.message.BasicHeaderValueFormatter' appears in /system/framework/ext.jar) at org.apache.http.entity.ContentType.toString(ContentType.java:153) at org.apache.http.entity.mime.MultipartFormEntity.<init>(MultipartFormEntity.java:56) at org.apache.http.entity.mime.MultipartEntityBuilder.buildEntity(MultipartEntityBuilder.java:236) at org.apache.http.entity.mime.MultipartEntity.getEntity(MultipartEntity.java:119) at org.apache.http.entity.mime.MultipartEntity.isChunked(MultipartEntity.java:140) at org.apache.http.protocol.RequestContent.process(RequestContent.java:79) at org.apache.http.protocol.BasicHttpProcessor.process(BasicHttpProcessor.java:290) at org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:160) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:408) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:653) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616) at com.example.hogehoge.MainActivity$3$1.run(MainActivity.java:109) at java.lang.Thread.run(Thread.java:818)
ファイルをサーバに送信するにはどうしたらいいでしょうか?よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/01 15:21
2016/06/01 16:19
2016/06/03 04:12