javascript - React Native图像上传文件扩展名错误

标签 javascript react-native react-native-image-picker

我正在尝试使用 React Native 将图像上传到 Django 后端服务器。

const addPostHandle = () => {
    const formData = new FormData()
    formData.append("image", {
        name: "img",
        type: image.mime,
        size: image.size,
        uri: Platform.OS === "android" ? image.path : image.path.replace("file://", "")
    })
    formData.append("title", title)
    formData.append("category", category)
    addPost(formData)

    setTitle('')
    setCategory(0)
}

但我收到一条错误消息,指出不允许文件扩展名“”。允许的扩展名是...并且我发送的数据没有问题。

[["image", {"name": "img", "size": 63410, "type": "image/jpeg", "uri": "file:///storage/emulated/0/Android/data/com.mobile/files/Pictures/2defe993-c6c4-44e4-8438-c0d57b5bd16f.jpg"}], ["title", "cat-test"], ["category", 5]]

经过一些研究,我发现很多人在使用 react-native-image-crop-picker 时遇到这个问题,但他们得到网络错误,但是我发送数据没有问题。所以我不认为这个问题是由 Flipper

引起的

P.S:如果需要的话,这是后端代码:

class PostCreateAPIView(generics.CreateAPIView):
    queryset = Post.objects.all()
    serializer_class = PostCreateSerializer
    permission_classes = [IsAuthenticated | IsAdminUser]
    parser_classes = (MultiPartParser,) #FormParser

    def perform_create(self, serializer):
        print(self.request.__dict__)
        serializer.save(author=self.request.user)

最佳答案

经过数千次尝试,我发现将 name: "img" 更改为 name: "img.jpg 可以解决该问题。

关于javascript - React Native图像上传文件扩展名错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64395669/

相关文章:

php - 如何将图像从React Native上传到MySQL数据库?

react-native - 向API请求formData,在上传图片时在axios中获取 “Network Error”

javascript - 正确发布一个 grunt 项目

javascript - 单击汉堡菜单时如何更改 Logo src?

ios - 无效目录 Users/node_modules/crypto-browserify react native

reactjs - TouchableOpacity 行为怪异

javascript - puppeteer-cluster:队列而不是执行

javascript - 表示字符串中的重音符号

android - 为什么 React Native Picker 在我的 Android 模拟器中无法工作?

react-native - 类型错误 : undefined is not an object (evaluating '_reactNativeImagePicker.default.showImagePicker' )