Laravel Javascript Image / Pdf从网址到Filereader

时间:2019-06-12 22:00:17

标签: javascript php laravel blob form-data

我有一个FormData对象,我想在其中添加.png和.pdf文件的文件。

到目前为止,我已经做到了:

    async setData(file) {
        const formData = new FormData();
        formData.append('type', file.type);
        formData.append('file', await this.fileToBlob(file.location)); // filereader image object which can be sent to the server
        formData.append('name', file.new_name);
        formData.append('url', file.location);

        return formData;
    },

我可以正确填充所有字段,但文件本身应包含文件本身。我不能在文件字段中放置适当的Blob类型。

为此,我尝试了这种方法:

    async fileToBlob(location) {
        const base64 = await this.imgTob64(location); // returns the path of the image / the link in this case since it is saved in the cloud

        return fetch(base64)
            .then(res => res.blob())
            .then(blob => console.log(blob))  
            .catch(error => console.log(error))
    };

首先,它不起作用,其次,它仅接受base64字符串,该字符串适合图像,但不适用于pdf文件。

在laravel网站上,我正在使用api等s3接收来自数字海洋的文件:

public function getFileLocation()
{
    return Storage::disk('do_spaces')->url('files/'.$this->fileName);
}

我目前的想法是基本上将文件从url转换为blob,然后将其返回给客户端,然后再将其附加到FormData,但是如何管理从文件url到javascript的正确Blob?

0 个答案:

没有答案