Как создать файл выбранного пользователем изображения
Я занимаюсь разработкой кроссплатформенного приложения с использованием nativescript. У меня проблема с получением выбранного пользователем изображения из галереи, из библиотеки, которую я использовал, возвращался путь выбранного изображения. Это очень легко в Android, это мой код для создания файла для выбранного пользователем изображения, которое я использовал в Android.
String File_Path = "/storage/emulated/0/Pictures/Screenshots/Screenshot_20171016-173404.png"
File file = new File(File_Path);
Причина, по которой мне нужно создать файл выбранного пользователем изображения, заключается в том, что мне нужно отправить выбранное пользователем изображение в виде файла в Multipar/FormData. Я пробовал много способов, не могу найти решение. Любое предложение с благодарностью.
Спасибо
Это мой пример кода для формданных
2 ответа
Используйте http-фон nativescript, укажите путь к этой функции
viewModel.uploadImage = function (imageUrl) {
var token = applicationSettings.getString("accessToken");
var form = new FormData();
form.append("file", imageUrl);
var bghttp = require("nativescript-background-http");
var session = bghttp.session("image-upload");
var request = {
url: <url>,
method: "POST",
headers: {
"Content-Type": "application/octet-stream",
"File-Name": "somename",
"Authorization": token
},
description: "image for something"
};
var params = [
{ name: "somename", value: "value" },
{ name: "fileToUpload", filename: imageUrl, mimeType: 'image/jpeg' }
];
let task = session.multipartUpload(params, request);
return task;
}
Ответ выше работает, однако другой вариант будет преобразовать выбранное изображение в Base64String
и относиться к нему как к любой другой строке.
Для этого просто создайте новый ImageSource
из пути к файлу, а затем просто использовать toBase64String
метод предоставляется.
Simlpy передать формат (JPG, PNG и т. Д.), И все готово