【问题标题】:All images put to storage are saved as 'octet-stream' rather than image/jpeg所有存储的图像都保存为“八位字节流”而不是 image/jpeg
【发布时间】:2021-06-18 11:58:18
【问题描述】:

我一直在我的应用程序中构建这个相机功能,当图像被捕获时,它应该以 jpg 格式发送,但它作为“八位字节流”发送,我的代码如下所示,请任何帮助都会很棒。

    const photo = await camera.takePictureAsync()
    console.log(photo)
    setPreviewVisible(true)
    //setStartCamera(false)
    setCapturedImage(photo)
  }
  const __savePhoto = async () => {
    const uploadUri = await fetch(capturedImage.uri);

    try {
      await firebase.storage().ref('Non-Verified Photos/').put(uploadUri);
       Alert.alert(
         'Image uploaded!',
         'Your image has been sent for review!'
       )
     }catch(e){
       console.log(e);
     }

     setCapturedImage(null)
  }

【问题讨论】:

    标签: reactjs firebase react-native expo firebase-storage


    【解决方案1】:

    似乎没有为您进行任何内容类型检测。您可以明确设置自己的内容类型,如adding metadata to a file 上的文档所示:

    var metadata = {
      contentType: 'image/jpeg',
    };
    
    // Upload the file and metadata
    var uploadTask = storageRef.child('images/mountains.jpg').put(file, metadata);
    

    【讨论】:

    • 图片仍然没有显示这只是改变了类型。我遇到的问题是图像存储在宽度、uri、高度的数组中。好像没有单独拉取uri你知道为什么会这样吗?
    • 我不确定我是否理解:您的问题是关于上传图片时的类型,以上是改变它的方法。如果您在加载图像时也遇到问题,我建议您单独提出一个问题。
    猜你喜欢
    • 2021-04-26
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-27
    • 2019-02-25
    • 2020-12-04
    • 2014-02-08
    相关资源
    最近更新 更多