将本地 blob 图像 url 上传到 php
Posted
技术标签:
【中文标题】将本地 blob 图像 url 上传到 php【英文标题】:Upload local blob image url to php 【发布时间】:2021-11-05 12:55:01 【问题描述】:我的本地主机中有一个 blob 图像 URL(看起来像“blob:http://localhost/1d795687-b478-4edf-9b3d-8dda768b9d9f”),我想获取这个文件并使用 javascript 将其上传到 php .
我只想知道如何将此图像作为文件获取。
【问题讨论】:
使用您用于创建 url 的原始 blob,否则您将不得不使用类似fetch()
-ing url 并获取 blob 的解决方法,请参阅 ***.com/questions/11876175/…
'fetch()' 也可以。我得到了我的 URL blob,传递给 fetch(),它给了我一个 blob 对象,然后我用这个 blob 做了一个新的文件对象并将它上传到 PHP。谢谢!
注意你不需要创建一个新的文件对象你可以发送blob,File
只是Blob
的一种特殊类型
我刚刚检查了它,它真的只适用于一个 blob!
【参考方案1】:
您应该将文件作为 formData 发送。然后将其直接保存为服务器中的 blob。您可以使用类似的代码
let formData = new FormData();
formData.append(key, blobImage);
Make backend api call with formdata
【讨论】:
我可以在“blobImage”中传递blob URL吗? 是的,你可以在blobImage中传递blob URL【参考方案2】:我使用了let blob = await fetch(url).then(r => r.blob())
,它给了我一个 blob 对象,我的图像存储在本地 blob URL 中。
代码:
let blob = await fetch(url).then(r => r.blob());
var data = new FormData();
data.append('image', blob, 'image.jpg');
然后,只需将data
发送到 PHP。
【讨论】:
以上是关于将本地 blob 图像 url 上传到 php的主要内容,如果未能解决你的问题,请参考以下文章
通过直接 URL 浏览时上传到 Azure Blob 存储的图像不可用
如何使用 React 将本地图像而不是 URL 发送到计算机视觉 API
JavaScript把项目本地的图片或者图片的绝对路径转为base64字符串blob对象在上传