简体   繁体   English

我收到错误消息“Firebase 存储:`put` 中的参数计数无效:预期在 1 到 2 arguments 之间,收到 0

[英]i'm getting an error of "Firebase Storage: Invalid argument count in `put`: Expected between 1 and 2 arguments, received 0

When I click to upload button firebase is giving me below error:当我点击上传按钮 firebase 给我以下错误:

Uncaught FirebaseStorageError {code_: "storage/invalid-argument-count", message_: "Firebase Storage: Invalid argument count in put : Expected between 1 and 2 arguments, received 0.", serverResponse_: null, name_: "FirebaseError"}未捕获的 FirebaseStorageError {code_: "storage/invalid-argument-count", message_: "Firebase Storage: Invalid argument count in put : Expected between 1 and 2 arguments, received 0.", serverResponse_: null, name_: "FirebaseError"}

function ImageUpload(username) {
    const [caption, setCaption] = useState('');

    const [image, setImage] = useState(null);
    // const [url, setUrl] = useState("");
    const [progress, setProgress] = useState(0);

    const handleChange =  (e) => {
        if(e.target.files[0]){
            setImage(e.target.files[0]); // setting current image
        } 
    };

    const handleUpload = () => {
        const uploadTask = firebase.storage().ref(`images/${image.name}`).put();

        uploadTask.on(
            "state_changed",
            (snapshot) => {
                // progress bar
                const progress = Math.round(
                    (snapshot.bytesTransferred / snapshot.totalBytes) * 100
                );
                setProgress(progress);
            },
            (error) => {
                // err function
                console.log(error); 
                alert(error.message);
            },
            () => {
                storage
                .ref("images")
                .child(image.name)
                .getDownloadURL()
                .then(url => {
                    //upload img inside DB
                    db.collection("posts").add({
                        timestamp : firebase.firestore.FieldValue.serverTimestamp(),
                        caption : caption ,
                        imageUrl : url ,
                        username : username
                    });

                    setProgress(0);
                    setCaption('');
                    setImage(null);
                });
            }
        )
    }

    return (
        <div>

            <progress value={progress} max="100" />

            <input type="text" placeholder='enter a caption...' 
                onChange={event => setCaption(event.target.value)} value={caption} 
            />

            <input type="file" onChange={handleChange} />

            <Button className="imageUpload__button" onClick={handleUpload}>
                Upload
            </Button>
        </div>
    )
}

export default ImageUpload

According to the docs:根据文档:

put

put ( data: Blob | Uint8Array | ArrayBuffer, metadata? : UploadMetadata ): UploadTask Uploads data to this reference's location. put ( data: Blob | Uint8Array | ArrayBuffer, metadata? : UploadMetadata ): UploadTask 上传数据到这个引用的位置。

Parameters data: Blob |参数数据:Blob | Uint8Array | Uint8Array | ArrayBuffer The data to upload. ArrayBuffer 要上传的数据。

Optional metadata: UploadMetadata Metadata for the newly uploaded object.可选元数据:UploadMetadata 新上传的 object 的元数据。

Returns UploadTask返回上传任务

For example:例如:

var file = ... // use the Blob or File API
ref.put(file).then(function(snapshot) {
  console.log('Uploaded a blob or file!');
});

https://firebase.google.com/docs/storage/web/upload-files https://firebase.google.com/docs/storage/web/upload-files

https://firebase.google.com/docs/reference/js/firebase.storage.Reference#put https://firebase.google.com/docs/reference/js/firebase.storage.Reference#put

Therefore inside the put() method that you are using you need to either use a File or Blob因此,在您使用的put()方法中,您需要使用FileBlob

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Firebase 错误 Firebase 存储:索引 0 处的 `put` 中的参数无效:预期的 Blob 或文件 - Firebase error Firebase Storage: Invalid argument in `put` at index 0: Expected Blob or File Firebase 存储:索引 0 处的“put”中的参数无效:预期的 Blob 或文件 - Firebase Storage: Invalid argument in `put` at index 0: Expected Blob or File Firebase 存储:`put` 预期 Blob 或文件中的参数无效 - Firebase Storage: Invalid argument in `put` Expected Blob or File Firebase 存储上传 img 不起作用 -&gt; 索引 0 处的“put”中的参数无效:预期的 Blob 或文件 - Firebase Storage upload of img dont work -> Invalid argument in `put` at index 0: Expected Blob or File 上传时Firebase存储无效参数 - Firebase Storage invalid argument on upload 错误:尝试将文件上传到 Firebase 存储时出现“无效参数” - Error: 'invalid argument' when trying to upload a file to firebase storage 错误“htmlfile:invalid argument”是什么意思? 我在excanvas.js中得到这个 - What does the error “htmlfile: invalid argument” mean? I'm getting this in excanvas.js 为什么我会收到此错误“无效参数”? - Why am I getting this error “Invalid argument”? 文件上传到Firebase存储不起作用(“存储/无效参数”) - file upload to firebase storage is not working (“storage/invalid-argument”) Firebase验证sendEmailVerification()我遇到错误,但仅适用于Safari浏览器 - Firebase Auth sendEmailVerification() I'm getting an Error, but only with Safari browser
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM