Продолжаю получать неверный запрос, когда пытаюсь загрузить изображение в Django с помощью камеры react native

Я пытаюсь сделать приложение для камеры с использованием react native и отправить изображение на бэкенд с помощью Django.

вот код для получения фотографии и ее обновления на Django. Я пробовал метод PUT и POST.

const [image, setImage] = useState(null)
const takePicture = async() => {
// setimage(null);

if(camera){
  const options = {
    base64: true,
    quality: 0.5
  }
  const data = await camera.takePictureAsync(options)
  setimage(data.uri);
  const upload = new FormData();
  upload.append('name', '')
  upload.append('image', image);
  console.log(upload);
  fetch("http://192.168.0.154:8000/API/getObjectProperties/object/1/"
  , {
    method: 'PUT',
    // headers: {
    //   'Content-Type': 'application/json'
    // },
    body: upload
  }
  ).then( (res) => res.json()).catch( (error) => console.error(error));
  }

}

const takePicture = async() => {
// setimage(null);

if(camera){
  const options = {
    base64: true,
    quality: 0.5
  }
  const data = await camera.takePictureAsync(options)
  setimage(data.uri);
  const upload = new FormData();
  upload.append('name', '')
  upload.append('image', image);
  console.log(upload);
  fetch("http://192.168.0.154:8000/API/getObjectProperties/object/1/"
  , {
    method: 'PUT',
    // headers: {
    //   'Content-Type': 'application/json'
    // },
    body: upload
  }
  ).then( (res) => res.json()).catch( (error) => console.error(error));
  }

}

но я продолжаю получать плохой запрос, хотя он работает при использовании postman.

плохой запрос

формаДанных

это потому, что он не может прочитать файл из camera.takePictureAsync(), так как он выглядит как "file:///data/user/0/host.exp. exponent/cache/ExperienceData/%2540anonymous%252FThesisApp-1fe17b3a-01c2-46c4-953e-6368f5dc1eeb/Camera/d909cdfe-9d40-4788-a212-63780d715321.jpg" instead of just d909cdfe-9d40-4788-a212-63780d715321.jpg?

есть ли какое-нибудь решение для этого?

Вернуться на верх