Итак, ранее я отправлял файл в формате base64 в формате JSON ... с помощью ImagePicker Expo, а также мне нужна помощь для прояснения моего понимания.
Теперь я хотел отправить его как в Интернете:
- Я не знаю, что такое тип данных, результат в Интернете выглядит так:
Content-Disposition: form-data; name="service[image]"; filename="Rectangle 1523.png"
Content-Type: image/png
PNG
���
IHDR�����K���t ;���sRGB�®Îé��TIDATxíÚ?Eð»ÝC;å
âè(ð¢&×`mèHh±°x¾+&4vÄaL.TJ²
!ñ_¨¸Û=çwî<ÎÍ={&ÝÏ<>3Ï3»>¿O&óe
Я не был уверен, это Blob?это выглядит как случайный символ
но не base64 на самом деле также двоичное представление?
действительно ли двоичный код или эти случайные символы могут отправлять только в FORM DATA?
Я отправил данные в formData without
файл,и это был успех ...
Итак, я предположил, что у formData нет проблем,
, и теперь я отправляю такие данные с файлом uri:
],
[
"service[works_mobilitation]",
"86",
],
[
"service[image]",
{
"name": "image.png",
"type": "image/png",
"uri": "file:///var/mobile/Containers/Data/Application/3D8A2A3B-1D20-4923-A3C1-EA0FD7EED995/Library/Caches/ExponentExperienceData/%2540dellryuzi%252Fbitubi-sept-2019/ImagePicker/A6AEFA7A-04ED-40B5-8774-83BB2D2BA463.png",
},
],
],
Я предположил, что это не работает, потому что на самом деле Ури - это только путь?не изображение?
Я не совсем понимаю с imagepicker Expo, могу ли я загрузить изображение на обычный сервер (Google) с этим URI?file://
Я сделал несколько модификаций, без obj, ("service[image], uri or base64)
или даже replace.("file://", "")
, но без результата.
theПоследняя попытка, я хотел попытаться преобразовать base64 в точный двоичный код 101010, но я понятия не имел, сделать это в React native
Я получаю метод для web
function dataURItoBlob(dataURI) {
var mime = dataURI.split(',')[0].split(':')[1].split(';')[0];
var binary = atob(dataURI.split(',')[1]);
var array = [];
for (var i = 0; i < binary.length; i++) {
array.push(binary.charCodeAt(i));
}
return new Blob([new Uint8Array(array)], {type: mime});
}
но я не уверен, что
new Blob or new Uint8Array
не работает или мне нужна сторонняя библиотека или что-то в этом роде?что это такое?
РЕДАКТИРОВАТЬ:
Итак, я исследую, и эти конвертированные объекты не могут работать в React Native, потому что RN использует JavascriptCore ...
как IИзучение rn-fetch-blob могло бы быть моим ответом, но я должен удалить свою expoact-native, потому что версия 0.10.15 -> должна ссылаться на какой-то нативный, а новейшая версия 0.10.16 предназначена только для RN 0.60, чтоновейшая выставка 34 по-прежнему использует RN 0,59.
, и я не хочу выбрасывать ....
, поэтому я должен научиться ... исправьте меня, если я ошибаюсь (потому что всеЯ ищу в Google, не отображать построенный двоичный файл)
этот двоичный файл HDR�����K��
является версией ASCII, и двоичное кодирование не только 101010, но много типа -> base64, ASCII, utf8? ...и, возможно, все, что мне нужно, как преобразовать file:///
или base64
из ImagePicker в эти двоичные файлы ASCII ??чего на самом деле можно добиться с помощью rn-fetch-blob
, но, с другой стороны, я не могу выбросить ... У меня нет выбора?
но я хочу подтвердить, ;���sRGB�®Îé��T
что это за бинарный файл ???ASCII?а что на самом деле капля?только расщепленный символ?