Для моих собственных целей я хочу отправить файл dex другого приложения на удаленный сервер и получить ответ.Отправить .dex файл через почтовый запрос android studio
Я использовал ответы, которые я нашел здесь. Сначала я попытался создать простой пример, просто подключиться к серверу и загрузить файл dex. Пока мне не удалось извлечь dex из других приложений, поэтому я подумал об использовании файла dex, который у меня уже есть. Как я читал, не общие файлы должны храниться либо в «/ res/raw», либо «assets» Я пробовал много способов загрузить его как файл , но ни один из них не работал. Путь, который я использовал во всех случаях, был найден щелчком правой кнопки мыши по файлу -> ссылка на копию.
создать папку Рез под/сырыми и
File f = new File("res/raw/filename.dex");
Создать новую папку активов в/приложение
File f = new File("filename.dex");
Создать папку активов в/основной
File f = new File("main/assets/filename.dex");
и так далее.
Единственный способ, которым я сумел сделать это с помощью InputStream
Inputstream in = getResources().openRawResources(R.raw.filename_without_dex)
, но я не мог бросить его в файл, так что я бросил это solution.I хотят иметь его как Файл вызывает следующий запрос POST, который должен быть multipart/form.
В java способ «загрузить» файл прост. Почему не в андроиде?
Вы не можете открыть его как файл, так как он не существует в виде файла в файловой системе. И последняя часть вашего вопроса не имеет смысла: «Я хочу, чтобы это было как File, потому что следующий запрос POST должен быть многочастным/form». Нет причин, по которым вы не можете этого сделать, прочитав данные из InputStream. – JesusFreke
@JesusFreke Я вижу вашу точку зрения. Я пробовал этот путь [link] (https://developer.android.com/reference/java/net/HttpURLConnection.html), который использует InputStream, и мне не удалось заставить его работать. Не могли бы вы привести пример правильного использования InputStream для getOutputStream()? –
@JesusFreke Причина, по которой я спрашиваю, потому что я нашел много примеров с помощью 'MultipartEntityBuilder' для создания запроса multipart/form-data, который принимает' File', но ни один из них не создает многостраничный запрос POST с использованием 'HttpURLConnection' и' InputStream' классы –