php - Expo takePictureAsync 将照片上传到 Laravel
问题描述
尝试使用 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);
那是行不通的。它每次都返回错误。那个代码有什么问题?
解决方案
推荐阅读
- html - 如何在桌面上的 django 网页上显示图像?
- ios - 使用 Alamo fire 立即调用关闭
- delphi - 分配 hdc 值以调用 GetGlyphIndices(hdc,lpstr,c,pgi,l) 函数 n Delphi
- angular - 按钮单击时的 Highcharts 上下文菜单
- java - 以编程方式将图像和文本添加到 TableRow
- google-places-api - Google Places 和 Autocomplete,更新到 New Places SDK 时出现问题
- xslt - XSLT 将 "params" 与 "match="@*|node()" 结合起来
- ios - uitableview 内的 UIWebview 和与 uitableview 的滚动相反的滚动
- javascript - API未在服务文件Angular 7中被调用
- javascript - ChartJs - 从后端动态显示数据