Проблема с загрузкой изображения с помощью FileSystem.uploadAsync и средства выбора изображений. ⇐ Php
Проблема с загрузкой изображения с помощью FileSystem.uploadAsync и средства выбора изображений.
Я пытаюсь использовать expo-image-picker и expo-file-system, чтобы брать/выбирать изображения и загружать их на свой сервер. У меня есть сохранение изображений в состоянии, и я могу получить доступ к ним для отображения и т. д., но у меня возникают проблемы при попытке загрузить их. Я пытаюсь загрузить его на свой сервер, а затем использую PHP, чтобы сделать с ним то, что он делает.
У меня есть пример кода, и все это во многом основано на нем, но он не работает ни с https://galaxies.dev/react-native-image-upload
В любом случае, это не совсем то, что мне нужно, мне нужно выбрать или взять изображение, а затем использовать манипулятор изображений, чтобы сжать его. У меня все работает, и я могу получить данные uri или base64.
Как я могу использовать FileSystem.uploadAsync для загрузки самого изображения или данных base64 на мой сервер. В примере я использую PHP для получения данных и их сохранения.
Это то, что я использую для своего RN-кода, без части image.manipulation:
Чтобы получить изображение:
const selectImage = async (useLibrary: boolean) => { дайте результат; константные параметры: ImagePicker.ImagePickerOptions = { медиатипы: ImagePicker.MediaTypeOptions.Images, позволяет редактирование: правда, аспект: [4, 3], качество: 0,75 }; если (useLibrary) { результат = ждут ImagePicker.launchImageLibraryAsync (опции); } еще { ждут ImagePicker.requestCameraPermissionsAsync(); результат = ждут ImagePicker.launchCameraAsync(опции); } // Сохраняем изображение, если не отменено если (!result.canceled) { setImage(result.assets[0].uri); upload_img (изображение); // Я пробовал (result.assets[0].uri) } }; и код, пытающийся загрузить изображение:-
const upload_img = async (изображение) => { setUploading (истина); await FileSystem.uploadAsync('https://mysever/upload.php', uri, { // Я тоже пробовал изменить это на result.assets[0].uri? httpМетод: 'POST', Тип загрузки: FileSystem.FileSystemUploadType.MULTIPART, имя поля: 'файл', fileName: 'Test', // Я добавил это }); setUploading (ложь); }; Я думаю, проблема в том, где взять URI? Я пробовал все виды, но, похоже, это не работает. Самое близкое, что у меня есть, находится выше, и оно вроде загружается, но на сервере ничего нет. Должно ли там быть имя файла?
Есть этот бит, который сохраняет изображение, но, похоже, присваивает ему другую информацию, и я думаю, что его следует каким-то образом включить, но я не могу понять, где:
const saveImage = async (uri: string) => { дождитесь обеспеченияDirExists(); const имя_файла = новая дата().getTime() + '.jpeg'; const dest = imgDir + имя файла; ждут FileSystem.copyAsync({ from: uri, to: dest }); setImages([...изображения, место]); // Я отправляю только выбранный файл, поэтому сохранять его не нужно }; Правильно ли я это делаю? Кажется, я пробовал много разных подходов, таких как выборка, axios и blob, но этот показался лучшим.
Код PHP такой же, как код в примере, но вот он: -
Будем очень благодарны за любую помощь
Я пытаюсь использовать expo-image-picker и expo-file-system, чтобы брать/выбирать изображения и загружать их на свой сервер. У меня есть сохранение изображений в состоянии, и я могу получить доступ к ним для отображения и т. д., но у меня возникают проблемы при попытке загрузить их. Я пытаюсь загрузить его на свой сервер, а затем использую PHP, чтобы сделать с ним то, что он делает.
У меня есть пример кода, и все это во многом основано на нем, но он не работает ни с https://galaxies.dev/react-native-image-upload
В любом случае, это не совсем то, что мне нужно, мне нужно выбрать или взять изображение, а затем использовать манипулятор изображений, чтобы сжать его. У меня все работает, и я могу получить данные uri или base64.
Как я могу использовать FileSystem.uploadAsync для загрузки самого изображения или данных base64 на мой сервер. В примере я использую PHP для получения данных и их сохранения.
Это то, что я использую для своего RN-кода, без части image.manipulation:
Чтобы получить изображение:
const selectImage = async (useLibrary: boolean) => { дайте результат; константные параметры: ImagePicker.ImagePickerOptions = { медиатипы: ImagePicker.MediaTypeOptions.Images, позволяет редактирование: правда, аспект: [4, 3], качество: 0,75 }; если (useLibrary) { результат = ждут ImagePicker.launchImageLibraryAsync (опции); } еще { ждут ImagePicker.requestCameraPermissionsAsync(); результат = ждут ImagePicker.launchCameraAsync(опции); } // Сохраняем изображение, если не отменено если (!result.canceled) { setImage(result.assets[0].uri); upload_img (изображение); // Я пробовал (result.assets[0].uri) } }; и код, пытающийся загрузить изображение:-
const upload_img = async (изображение) => { setUploading (истина); await FileSystem.uploadAsync('https://mysever/upload.php', uri, { // Я тоже пробовал изменить это на result.assets[0].uri? httpМетод: 'POST', Тип загрузки: FileSystem.FileSystemUploadType.MULTIPART, имя поля: 'файл', fileName: 'Test', // Я добавил это }); setUploading (ложь); }; Я думаю, проблема в том, где взять URI? Я пробовал все виды, но, похоже, это не работает. Самое близкое, что у меня есть, находится выше, и оно вроде загружается, но на сервере ничего нет. Должно ли там быть имя файла?
Есть этот бит, который сохраняет изображение, но, похоже, присваивает ему другую информацию, и я думаю, что его следует каким-то образом включить, но я не могу понять, где:
const saveImage = async (uri: string) => { дождитесь обеспеченияDirExists(); const имя_файла = новая дата().getTime() + '.jpeg'; const dest = imgDir + имя файла; ждут FileSystem.copyAsync({ from: uri, to: dest }); setImages([...изображения, место]); // Я отправляю только выбранный файл, поэтому сохранять его не нужно }; Правильно ли я это делаю? Кажется, я пробовал много разных подходов, таких как выборка, axios и blob, но этот показался лучшим.
Код PHP такой же, как код в примере, но вот он: -
Будем очень благодарны за любую помощь
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
MissingMethodException для BlobClient.UploadAsync в Azure.Storage.Blobs SDK
Anonymous » » в форуме C# - 0 Ответы
- 74 Просмотры
-
Последнее сообщение Anonymous
-