【问题标题】:Is there a way to set the src attribute of img or audio/video from binary content有没有办法从二进制内容中设置 img 或音频/视频的 src 属性
【发布时间】:2020-11-13 16:13:10
【问题描述】:

想象一下我执行了一个 ajax 请求,将图像文件的名称发送到我的 PHP 服务器,并且服务器不允许发送指向文件的链接......相反,它将通过 PHP 的 readfile 发送文件的内容();功能。 返回此数据时,JavaScript 应如何设置 img 元素的 src 属性,例如

myXMLHttpRequest.onload=function(){
  imgElement.src= /*some way to work with myXMLHttpResponse.reponseText*/;
}

好的,这里的重点是从一个字符串设置src,该字符串是图像文件的二进制内容。

【问题讨论】:

    标签: javascript src


    【解决方案1】:

    是的,这是可能的,而且会定期进行。

    只需使用 PHP 脚本的 URL。不要为 XHR 烦恼。

    <img src="your-image-script.php" />
    

    【讨论】:

    • 还有其他方法吗?因为 php 脚本根据 ajax 请求发布给它的数据返回数据......我无法通过链接中的 GET 请求发送该数据......
    • 如果您无法在查询字符串中发送请求数据,还有另一种方法。如果您使用 Fetch API,这是最简单的。 const res = await fetch('script.php', { method: 'POST', body: yourData }); 之类的东西来发出 HTTP 请求。然后,img.src = URL.createObjectURL(await res.blob());.
    • @elwanga 实际上,MDN 有可以做到这一点的示例源代码:developer.mozilla.org/en-US/docs/Web/API/Body/blob
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多