获取远程图片的Blob资源

原文地址:http://www.cnblogs.com/JimmyBright/p/7681092.html

思路:js获取远程资源的blob会涉及到跨域的问题,所以需要中转一下,具体是使用php的curl获取

 1     /**
 2      * @desc 转发获取图片防止前端跨域取不到资源
 3      * @author Jimmy
 4      * @date 2017-10-13
 5      */
 6     public function actionGetimage()
 7     {
 8         header("Content-Type:image");
 9         $url = $this->getParam(‘url‘);
10         $curl = curl_init();
11         curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
12         curl_setopt($curl, CURLOPT_TIMEOUT, 500);
13         curl_setopt($curl, CURLOPT_URL, $url);
14         $res = curl_exec($curl);
15         curl_close($curl);
16         echo $res;
17     }

JS里可以在utils里定义个公用方法 action为Yii框架里对应的action路径,fileUrl为一个静态的远程网络图片

 1 //获取跨域的文件Blob格式
 2 function getRemoteImageBlob(action, fileUrl, callBack) {
 3   let host = store.state.APIURL
 4   let url = host + action + "?url=" + fileUrl
 5   let xhr = new XMLHttpRequest()
 6   xhr.open("GET", url)
 7   xhr.responseType = "blob"
 8   xhr.onload = () => {
 9     callBack(xhr.response)
10   }
11   xhr.send()
12 }
时间: 2024-08-03 02:30:49

获取远程图片的Blob资源的相关文章

php获取远程图片模拟post,file上传到指定服务器

1.获取远程图片 /** $path保存图片的地址 $url要获取的远程图片地址 **/ function getimg($path,$url){ $aext = explode('.', $url);$ext = end($aext); $name = $path.'/'. time() . '.' . $ext;$source=file_get_contents($url);file_put_contents($name,$source);return $name; } 2.上传图片 /**

php使用curl来获取远程图片

本文章来介绍php使用curl来获取远程图片实现方法,有需要了解采集远程图片的朋友不防进入参考. curl要求php环境支持才行. 可以运行phpinfo()函数是否支持,一般要将php.ini中;extension=php_curl.dll前的;去掉.重新启动IIS或者APACHE就可以了.  代码如下 复制代码 /**@通过curl方式获取指定的图片到本地*@ 完整的图片地址*@ 要存储的文件名*/function getImg($url = "", $filename = &qu

PHP获取远程图片

<?php // // Function: 获取远程图片并把它保存到本地 // // // 确定您有把文件写入本地服务器的权限 // // // 变量说明: // $url 是远程图片的完整URL地址,不能为空. // $filename 是可选变量: 如果为空,本地文件名将基于时间和日期 // 自动生成. function GrabImage($url,$filename="") { if($url==""):return false;endif; if($

WEB端获取远程图片的尺寸和大小

一直以来我都以为前端只能读取图片的宽度和高度,以及本地上传图片的大小(通过FileReader),但不能获取到远程图片的大小. 昨天在搜索时突然意识到,http headers中包含Content-Length参数,这不就是大小吗?!然后立马在console输入$.get(src, function(data, statusText, res){res.getAllResponseHeaders()}),这不就搞定了嘛! 但是我高兴太早了 把这个放在代码里,愣是不显示Content-Length

获取远程图片保存到本地文件夹中

1 /** 2 * 抓取远程图片到本地,可以抓取不带有后缀的图片 3 * @author YanYing <[email protected]> 4 * @link bidianer.com 5 */ 6 class GrabImage{ 7 8 /** 9 * @var string 需要抓取的远程图片的地址 10 * 例如:http://www.bidianer.com/img/icon_mugs.jpg 11 * 有一些远程文件路径可能不带拓展名 12 * 形如:http://www.x

php获取远程图片url生成缩略图的方法

getimg.php <?php /** * *函数:调整图片尺寸或生成缩略图 *返回:True/False *参数: * $Image 需要调整的图片(含路径) * $Dw=450 调整时最大宽度;缩略图时的绝对宽度 * $Dh=450 调整时最大高度;缩略图时的绝对高度 * $Type=1 1,调整尺寸; 2,生成缩略图 */ $phtypes=array('img/gif', 'img/jpg', 'img/jpeg', 'img/bmp', 'img/pjpeg', 'img/x-png

PHP获取远程图片并调整图像大小(转)

<?php /** * *函数:调整图片尺寸或生成缩略图 *修改:2013-2-15 *返回:True/False *参数: * $Image 需要调整的图片(含路径) * $Dw=450 调整时最大宽度;缩略图时的绝对宽度 * $Dh=450 调整时最大高度;缩略图时的绝对高度 * $Type=1 1,调整尺寸; 2,生成缩略图 */ $phtypes=array('img/gif', 'img/jpg', 'img/jpeg', 'img/bmp', 'img/pjpeg', 'img/x-

PHP获取远程图片并调整图像大小

<?php /** * *函数:调整图片尺寸或生成缩略图 *修改:2013-2-15 *返回:True/False *参数: *   $Image   需要调整的图片(含路径) *   $Dw=450   调整时最大宽度;缩略图时的绝对宽度 *   $Dh=450   调整时最大高度;缩略图时的绝对高度 *   $Type=1   1,调整尺寸; 2,生成缩略图 */ $phtypes=array('img/gif', 'img/jpg', 'img/jpeg', 'img/bmp', 'img

Android Picasso 获取远程图片并显示

Picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能. 它的使用及其的简单,仅仅只需要一行代码就能完全实现图片的异步加载: Picasso.with(view.getContext()).load(newsItems.get(position).getThumb()).into(holder.ivHeader);//Picasso异步加载预览图 完全不需要任何其他操作便可以加载图片,而