0
マルチパートフォームデータを使用してファイルをアップロードする際に問題が発生しました。私はAPIと私の現在のコードでARCのスクリーンショットを与えました。誰も私にこのマルチパートフォームデータを使ってファイルをアップロードする方法を教えてください。マルチパート/フォームデータを使用してファイルをアップロードする手助けが必要です
public class MultiPortRequest<T> extends Request<T> {
private static final String FILE_PART_NAME = "file";
private MultipartEntityBuilder mBuilder = MultipartEntityBuilder.create();
private final Response.Listener<String> mListener;
private final File mImageFile;
protected Map<String, String> headers;
public MultiPortRequest(String url,Response.Listener<String> listener,
ErrorListener errorListener,
File imageFile)
{
super(Method.POST, url, errorListener);
mListener = listener;
mImageFile = imageFile;
buildMultipartEntity();
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = super.getHeaders();
if (headers == null
|| headers.equals(Collections.emptyMap())) {
headers = new HashMap<String, String>();
}
headers.put("Identity", "rHTYsg8vZ/KWTaGOsy0eMNhngJMiZiK60pd9jAUQ+fI=");
return headers;
}
private void buildMultipartEntity()
{
mBuilder.addBinaryBody(FILE_PART_NAME, mImageFile, ContentType.create("multipart/form-data"),
mImageFile.getName());
mBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
mBuilder.setLaxMode().setBoundary("xx").setCharset(Charset.forName("UTF-8"));
}
@Override
public String getBodyContentType()
{
String contentTypeHeader = mBuilder.build().getContentType().getValue();
return contentTypeHeader;
}
@Override
public byte[] getBody() throws AuthFailureError{
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try{
mBuilder.build().writeTo(bos);
}
catch (IOException e)
{
VolleyLog.e("IOException writing to ByteArrayOutputStream bos, building the multipart request.");
}
return bos.toByteArray();
}
@Override
protected Response<T> parseNetworkResponse(NetworkResponse response){
try {
String result = null;
result = new String(response.data, HttpHeaderParser.parseCharset(response.headers));
return (Response<T>) Response.success(new JSONObject(result), HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
} catch (JSONException je) {
return Response.error(new ParseError(je));
}
}
@Override
protected void deliverResponse(T response){
mListener.onResponse(response.toString());
Log.v("yes", String.valueOf(mListener));
}
}
uが私は、サーバーにファイルをアップロードするためのボレーライブラリを使用しようとしているアンドロイド –
からファイルをアップロードする必要があります。しかし、毎回私は応答ファイルが見つかりませんが見つかりません! –
https://gist.github.com/anggadarkprince/a7c536da091f4b26bb4abf2f92926594 – USKMobility