Прогресс для Slingshot - NaN или 1 (Метеор + Реакция)

Я использую Метеор, Рогатку и Реакт. Загрузка изображений Slingshot в Amazon работает, но я не могу заставить работать индикацию прогресса.

Когда я console.log(upload.progress()) журнал возвращает NaN, пока загрузка не будет завершена, и в этот момент он возвращается 1, Для индикатора прогресса мне нужен% для работы.

import React from "react";
const upload = new Slingshot.Upload("myImageUploads");

class Uploader extends React.Component {
    constructor(props) {
        super(props);
        this.state = {};
        this.handleUpload = this.handleUpload.bind(this);
    }

    handleUpload() {
        const file = this.fileInput.files[0];

        upload.send(file, function(error, downloadUrl) {
            if (error) {
                console.error("Error uploading");
                alert(error);
            } else {
                console.log("Success!");
                console.log(downloadUrl);
                Meteor.call(
                    "user.updatePic",
                    {
                        imgUrl: downloadUrl
                    },
                    err => {
                        if (err) {
                            console.error(err);
                        }
                    }
                );
            }
        });

        setInterval(() => {
            console.log(upload.progress());
        }, 100);
    }

    render() {
        return (
            <div>
                <input
                    type="file"
                    name="Uploader"
                    id="input"
                    ref={input => (this.fileInput = input)}
                />
                <button
                    type="button"
                    className="btn btn--iconOnly"
                    onClick={this.handleUpload}
                >
                    Upload
                </button>
            </div>
        );
    }
}

export default Uploader;

0 ответов

Другие вопросы по тегам