首页 > 解决方案 > React Native 上传图片到 Laravel 存储 API

问题描述

我正在尝试从 Laravel API 中的 React 应用程序上传文件(图像)。

这是我的反应代码

axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;

        let path = this.state.fileUri;
        let type = this.state.fileType;
        let name = this.state.fileName;

        const data = new FormData();
        data.append('file', {
            name: name,
            type: type,
            uri: Platform.OS === 'ios' ?
                path.replace('file://', '')
                : path,
        });

        axios
            .post(`/api/uploadimg`, data, {headers: {
                    "Content-Type": "multipart/form-data",
                }})
            .then(res => {
                console.log(res.data);
            })
            .catch(err => console.log(err));

在 Laravel

Route::middleware('auth:sanctum')->post('/uploadimg', function (Request $request) {

    if  ($request->hasFile('file')){
        return "OK";
    }else{
        return "Bad";
    }

});

但我总是觉得不好在我看来,文件没有被传输。

令牌正在正确传输。如果我传递字符串,服务器会接受它们。但我无法传达图像。

请帮我弄清楚。接下来我要更新用户资料照片

谢谢

标签: laravelreact-nativeapiaxios

解决方案


推荐阅读