强制浏览器在点击下载图像文件 [英] Force browser to download image files on click

查看:91
本文介绍了强制浏览器在点击下载图像文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



有没有一种方法可以使用客户端编程来实现这一点?

我需要浏览器下载图像文件,就像它在点击Excel表单时一样。只有?

 < html xmlns =http://www.w3.org/1999/xhtml> 
< head>
< title>< / title>
< script type =text / javascriptsrc =Scripts / jquery-1.10.2.js>
$(document).ready(function(){
$(*)。click(function(){
$(p)。hide();
});
});
< / script>
< / head>

< script type =text / javascript>
document.onclick = function(e){
e = e || window.event;
var element = e.target || e.srcElement;
if(element.innerHTML ==Image){
//someFunction(element.href);
var name = element.nameProp;
var address = element.href;
saveImageAs1(element.nameProp,element.href);
返回false; //防止默认动作并停止事件传播
}
else
return true;
};
$ b $ function saveImageAs1(name,adress){
if(confirm('you want to save this image?')){
window.win = open(adress);
//response.redirect(\"~/testpage.html);
setTimeout('win.document.execCommand(SaveAs)',100);
setTimeout('win.close()',500);
}
}
< / script>

< body>
< form id =form1runat =server>
< div>
< p>
< a href =http:// localhost:55298 / SaveImage / demo / Sample2.xlsxtarget =_ blank> Excel< / a>< br />
< a href =http:// localhost:55298 / SaveImage / demo / abc.jpgid =abc>图片< / a>
< / p>
< / div>
< / form>
< / body>
< / html>

如何下​​载Excel表格(浏览器)?

解决方案

使用HTML5,您可以将属性'download'添加到您的链接中。

< a href =/ path / to / image.png下载>



下载具有相同文件名的图像(在这个例子中为image.png)。

如果你为这个属性指定一个值,那么它将成为新的文件名:



< a href =/ path / to / image.pngdownload =AwesomeImage.png> 更新:截至2018年春天,对于跨源 href 取值即可。因此,如果您想在imgur.com以外的域名上创建< a href =https://i.imgur.com/IskAzqA.jpg下载> 将无法按预期工作。 Chrome的弃用和移除公告

p>

I need the browser to download the image files just as it does while clicking on an Excel sheet.

Is there a way to do this using client-side programming only?

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript" src="Scripts/jquery-1.10.2.js">
        $(document).ready(function () {
            $("*").click(function () {
                $("p").hide();
            });
        });
        </script>
    </head>

    <script type="text/javascript">
        document.onclick = function (e) {
            e = e || window.event;
            var element = e.target || e.srcElement;
            if (element.innerHTML == "Image") {
                //someFunction(element.href);
                var name = element.nameProp;
                var address = element.href;
                saveImageAs1(element.nameProp, element.href);
                return false; // Prevent default action and stop event propagation
            }
            else
                return true;
        };

        function saveImageAs1(name, adress) {
            if (confirm('you wanna save this image?')) {
                window.win = open(adress);
                //response.redirect("~/testpage.html");
                setTimeout('win.document.execCommand("SaveAs")', 100);
                setTimeout('win.close()', 500);
            }
        }
    </script>

    <body>
        <form id="form1" runat="server">
            <div>
                <p>
                    <a href="http://localhost:55298/SaveImage/demo/Sample2.xlsx" target="_blank">Excel</a><br />
                    <a href="http://localhost:55298/SaveImage/demo/abc.jpg" id="abc">Image</a>
                </p>
            </div>
        </form>
    </body>
</html>

How should it work in case of downloading an Excel sheet (what browsers do)?

解决方案

Using HTML5 you can add the attribute 'download' to your links.

<a href="/path/to/image.png" download>

Compliant browsers will then prompt to download the image with the same file name (in this example image.png).

If you specify a value for this attribute, then that will become the new filename:

<a href="/path/to/image.png" download="AwesomeImage.png">

UPDATE: As of spring 2018 this is no longer possible for cross-origin hrefs. So if you want to create <a href="https://i.imgur.com/IskAzqA.jpg" download> on a domain other than imgur.com it will not work as intended. Chrome deprecations and removals announcement

这篇关于强制浏览器在点击下载图像文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆