меня проблема в том что отправляю через RequestBoty который принимает byteArray, и при большом размере файла вылетает ошибка outOfMemory. Можно ли как то отправлять файл через стрим напрямую из памяти телефона?
private void uploadVideoToServer(String pathToVideoFile){ File videoFile = new File(pathToVideoFile); RequestBody videoBody = RequestBody.create(MediaType.parse("video/*"), videoFile); MultipartBody.Part vFile = MultipartBody.Part.createFormData("video", videoFile.getName(), videoBody); Retrofit retrofit = new Retrofit.Builder() .baseUrl(SERVER_PATH) .addConverterFactory(GsonConverterFactory.create()) .build(); VideoInterface vInterface = retrofit.create(VideoInterface.class); Call<ResultObject> serverCom = vInterface.uploadVideoToServer(vFile); serverCom.enqueue(new Callback<ResultObject😠) { @Override public void onResponse(Call<ResultObject> call, Response<ResultObject> response) { ResultObject result = response.body(); if(!TextUtils.isEmpty(result.getSuccess())){ Toast.makeText(MainActivity.this, "Result " + result.getSuccess(), Toast.LENGTH_LONG).show(); Log.d(TAG, "Result " + result.getSuccess()); } } @Override public void onFailure(Call<ResultObject> call, Throwable t) { Log.d(TAG, "Error message " + t.getMessage()); } }); }
Обсуждают сегодня