首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react gluejar blob图像上传到静态服务器

react gluejar blob图像上传到静态服务器
EN

Stack Overflow用户
提问于 2020-08-11 15:05:37
回答 1查看 267关注 0票数 1

我是一个新手,试图使用REACT gluejar在一个REACT应用程序中将剪贴板上的图像粘贴到组件中,然后将其上传到一个静态服务器。

从基本样本开始:

代码语言:javascript
复制
<Gluejar onPaste={files => {console.log(files)}} errorHandler={err => console.error(err)}>
    {
        images => images.length > 0 &&
        <div>
            <img src={images[images.length - 1]} key={images[0]} alt={`Pasted: ${images[0]}`} />
            <Typography style={{ fontSize: "16px" }} > {images[0]} </Typography>
        </div>
     }</Gluejar>

当我在组件上粘贴两个图像后,上面的控制台日志返回类似的内容:

代码语言:javascript
复制
(2) ["blob:http://localhost:3000/3ef4e3d9-b8b0-4545-9d24-9fdcb34cb6e9", "blob:http://localhost:3000/49e641a5-15bd-49dd-a6ff-d97a4055c04e"]

我需要创建这样一个可上传的对象:

代码语言:javascript
复制
File {name: "214860.jpg", lastModified: 1571432733000, lastModifiedDate: Fri Oct 18 2019 18:05:33 GMT-0300, webkitRelativePath: "", size: 571747, …}lastModified: 571432733000lastModifiedDate: Fri Oct 18 2019 18:05:33 GMT-0300 (Horário Padrão de Brasília) {}name: 214860.jpg"size: 571747type: "image/jpeg"webkitRelativePath: ""__proto__: File

我应该如何继续创建这样的对象,从上面显示的Gluejar返回开始?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-15 20:10:52

1-将React gluejar组件更改为:

代码语言:javascript
复制
<Gluejar onPaste={files => { process(files) }} errorHandler={err => console.error(err)}>
    {
        images => images.length > 0 &&
        <div>
            <img src={images[images.length - 1]} key={images[0]} alt={`Pasted: ${images[0]}`} />
            <Typography style={{ fontSize: "16px" }} > {images[0]} </Typography>
        </div>
    }</Gluejar>

并创建如下的流程方法:

代码语言:javascript
复制
const process = async (selectedImage) => {
    try {
        async function createFile(Myfile) {
            let response = await fetch(Myfile);
            let data = await response.blob();
            let metadata = {
                type: 'image/png'
            };
            let file = new File([data], "test.png", metadata);
            console.log(file)
        }
        createFile(selectedImage);

控制台日志将是:

代码语言:javascript
复制
File {name: "test.png", lastModified: 1597521664920, lastModifiedDate: Sat Aug 15 2020 17:01:04 GMT-0300 (Horário Padrão de Brasília), webkitRelativePath: "", size: 6839, …}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63361031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档