Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数据库可以';t将blob转换为图像src的url_Javascript_Reactjs_Pouchdb - Fatal编程技术网

Javascript 数据库可以';t将blob转换为图像src的url

Javascript 数据库可以';t将blob转换为图像src的url,javascript,reactjs,pouchdb,Javascript,Reactjs,Pouchdb,嘿,伙计们,我正在和PockDB合作,并做出反应。文件上传工作正常,但当我试图将blob转换为url时,控制台中出现了此错误 未能对“URL”执行“createObjectURL”:重载解析 失败了。” 我检查了返回,我能够将所有数据/图像检索到控制台中,基本上可以看到文件类型等等。不管怎样,我听说“createObjectURL”已经被弃用了,但我继续学习了docs中为PockDB提供的教程。所以我现在不确定。有人能在这方面给我一些见解或帮助吗?谢谢 下面的片段: //上传文件 const

嘿,伙计们,我正在和PockDB合作,并做出反应。文件上传工作正常,但当我试图将blob转换为url时,控制台中出现了此错误

未能对“URL”执行“createObjectURL”:重载解析 失败了。”

我检查了返回,我能够将所有数据/图像检索到控制台中,基本上可以看到文件类型等等。不管怎样,我听说“createObjectURL”已经被弃用了,但我继续学习了docs中为PockDB提供的教程。所以我现在不确定。有人能在这方面给我一些见解或帮助吗?谢谢

下面的片段:

//上传文件
const uploadF=e=>{
//保存所选文件
const file=e.target.files[0];
//生成随机数并将其转换为字符串
const random_id=Math.floor(Math.random()*10000);
const random_id_to_string=字符串(random_id);
console.log(文件);
//将数据插入本地数据库
db.post({
_id:random_id_to_string,
_附件:{
文件名:{
内容类型:file.type,
数据:文件
}
}
})
//将数据插入远程数据库
红邮政({
_id:random_id_to_string,
_附件:{
文件名:{
内容类型:file.type,
数据:文件
}
}
})
//将文件上载到s3 bucket
S3FileUpload.uploadFile(e.target.files[0],配置)
。然后(数据=>{
控制台日志(数据);
})
.catch(err=>console.log(err))
}
//从数据库中检索所有数据
常量文件=[];
db.allDocs({
包含文档:true,
附件:真实
}).然后(函数(结果){
返回结果;
})
.then(函数(blob){
const url=url.createObjectURL(blob);
console.log(url);
})
.catch(函数(err){
控制台日志(err);
});
返回(
欢迎
注销
上传f(e)}/>

);,blob是getAttachment()的结果。在本例中,它在js对象上被调用,该对象表示allDocs找到的所有内容,而不是blob。我认为您需要检查它返回的内容,并决定在您的函数中发送(或移动到一个blob数组)当前只返回自己的输入的blob。是的,我发现它不是blob,而是base64格式。