Expo takePictureAsync загрузить фотографию в Laravel

#php #laravel #react-native

#php #laravel #react-native

Вопрос:

Попытка загрузить фотографии с помощью Laravel с помощью expo camera. Не удалось создать наилучший рабочий процесс для загрузки файлов.

 const takePicture = async () => {
const options = {quality: 0.3, base64: false};
const { uri } =  await camera.current.takePictureAsync(options);

let formData = new FormData();
formData.append('file', {
  uri: uri.replace("file:///", ""),
  type:'image/jpg', name:'userProfile.jpg',
});
console.log(formData)

dispatch(Read.action(formData))

console.log('answer')};
 

мое действие чтения:

 import api, { handleError, setClientToken } from '@/Services'

export default async (data) => {
  const response = await api.post('upload', data)
  return response.data
}
 

файл моих сервисов:

 import axios from 'axios'
import { Config } from '@/Config'

const instance = axios.create({
  baseURL: Config.API_URL,
  headers: {
    Accept: 'application/json',
    'Content-Type': 'application/json',
  },
  timeout: 3000,
})

export const handleError = ({ message, data, status }) => {
  return Promise.reject({ message, data, status })
}

instance.interceptors.response.use(
  (response) => response,
  ({ message, response: { data, status } }) => {
    return handleError({ message, data, status })
  },
)

export default instance
 

и мой файл laravel:

     $unique = uniqid();
    //Move Uploaded File
    $destinationPath = 'uploads/'.$unique;
    $filename = uniqid().".".$file->getClientOriginalExtension();
    $file->move($destinationPath,$filename);
 

и это не работает. Он каждый раз возвращает ошибку.
Что не так с этим кодом?

Комментарии:

1. Не могли бы вы поделиться, в чем ошибка?