use-post-set-upload-temp.tsx 839 B

12345678910111213141516171819202122232425262728
  1. import axios from 'axios';
  2. import { type PostSetTempData } from '../photos-api';
  3. import { API } from '../../../../types';
  4. import { API_URL } from 'src/constants';
  5. export const postSetUploadTemp = async (data: PostSetTempData) => {
  6. const url = API_URL + '/' + API.UPLOAD_TEMP;
  7. const formData = new FormData();
  8. formData.append('token', data.token);
  9. formData.append('file', data.file as unknown as Blob);
  10. const config = {
  11. onUploadProgress: (progressEvent: ProgressEvent) => {
  12. if (progressEvent.lengthComputable) {
  13. const progress = progressEvent.loaded / progressEvent.total;
  14. console.log('Upload progress:', progress);
  15. }
  16. }
  17. };
  18. try {
  19. const response = await axios.post(url, formData, config as any);
  20. return response.data;
  21. } catch (error) {
  22. console.error('Error', error);
  23. }
  24. };