我用的是拉威尔5号。我正在创建一个各种各样的照片库。当你点击我使用的图像时
Response::download($path,$filename,$headers);
启动文件的下载。
下面是我的代码:
路线
Route::get('test/{filename}', 'ImageController@getDownload');
当用户转到test/example.png时,它运行get下载函数
控制器
public function getDownload($filename){
// Define the path and the extension
$file = public_path() . "/uploads/" . $filename;
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if($ext == 'png' || 'PNG'){
$headers = array(
'Content-Type:image/png',
);
}
else if($ext == 'jpg' || 'jpeg' || 'JPEG' || 'JPG'){
$headers = array(
'Content-Type:image/jpeg',
);
}
else if($ext == 'gif' || 'GIF'){
$headers = array(
'Content-Type:image/gif',
);
}
$response = Response::download($file, $filename, $headers);
return $response;
}
在这个函数中,我声明文件的路径并设置下载。
看法
@foreach ($fileList as $uploadedFiles)
<div class='img'>
<a href="test/{{$uploadedFiles}}"/><img src="{{ $uploadsFolder}}/{{ $uploadedFiles }}"/></a>
</div>
@endforeach
在我看来,我使用一个循环来获取文件名,然后创建一个指向test/$filename的链接,该链接调用控制器中的方法。
问题所在
使用这种方法似乎可以工作,因为我可以下载docx文件、pdf、txt文件、csv文件等。然而,当下载图像时,当我打开它时,我会得到“图像无法显示”。
在我的上传文件夹中,我有一个名为蛋糕的图像。JPG。
当我下载这个请求标题如下:
响应标题如下所示:
特别是图像,我是否错误地设置了标题?
先谢谢你。
在此上下文中处理图像时,有两个选项。
1.下载图片
这意味着,将提示下载该文件。在这种情况下,应始终设置此标题(在这种情况下,文件本身的mimetype并不重要):
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="somefilename.someextension"
这对于任何类型的文件都是一样的,这只是强制下载的一般方式。确保相应地设置了文件名。
注意:这只是为了解释。使用download()
时,Laravel将自己构建这些头文件。只需确保不使用此方法包含内容类型标题。
2.显示图像
在这种情况下,图像将显示为常规图像。在这里,不应设置内容处置标头,而应仅设置内容类型标头:
Content-Type: image/jpeg
这应该根据图像的相应mimetype进行设置。
在拉威尔:
您应该使用以下方法,而不是download()
方法:
$response = Response::make($file, 200)->withHeaders($headers);
问题内容: 我有一个响应式html布局中的现有图像映射。图像根据浏览器大小缩放,但是图像坐标显然是固定的像素大小。我必须选择哪些选项来调整图像地图坐标的大小? 问题答案: 您也可以使用svg代替图像映射。
在阅读了一整天关于一种或另一种方法后,我仍然不确定什么对我来说是最好的,所有的网站都解释了同样的事情,但是当我想知道真正让我担心的事情时,没有人谈论这个。 我的情况:我几乎所有的图像都使用宽度100%和高度自动,图像容器具有动态大小,例如30vw或40%,等等(不确定在这种情况下,我是否仍然需要在img标记中设置高度和宽度值) 如果我想为我的图像和webp格式提供不同的尺寸,并让浏览器决定选择什么
当我尝试使用带有Scrapy的蜘蛛下载图像时,会出现以下错误。 就我所能理解的而言,我好像在某个地方的url中少了一个“h”?但我一辈子也看不出在哪里。如果我不想下载图片,一切都正常。但是一旦我将适当的代码添加到下面的四个文件中,我就无法使任何东西正常工作。谁能帮我弄明白这个错误吗? items.py 设置.py pipelines.py products.py(我的蜘蛛) 如有任何帮助,将不胜感
我用python scrapy编写了一个脚本,从一个网站下载一些图片。当我运行我的脚本时,我可以在控制台中看到图像的链接(它们都是格式)。然而,当我打开下载完成时应该保存图像的文件夹时,我什么也没有看到。我犯错的地方? 这是我的蜘蛛(我正在从Sublime文本编辑器运行): 这是我在中为要保存的图像定义的内容: 为了让事情更清楚: 我希望保存图像的文件夹名为,我已将其放在项目下的文件夹中。 文件夹
我试图从url下载图像,但得到了java。木卫一。IOException:异常。我的代码是: 当运行投掷: 这段代码适用于某些URL,但对于这一点,我不明白为什么不能。非常感谢。
我试图达到的效果是这个网站上的第一张主要图片:http://shop.soot.me/ 据我所知,这是通过后台实现的,而不是通过<代码> https://jsfiddle.net/jzhang172/e1javm23/