尝试使用 expo 相机使用 Laravel 上传照片。由于无法创建上传文件的最佳工作流程。
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);
那是行不通的。它每次都返回错误。那个代码有什么问题?