javascript - 为什么我的下载属性不起作用?
问题描述
我有一个简单的 HTML 文件。我正在尝试在我的 HTML 上放置一个可下载的图像文件。为此,我在这里使用了代码。
我的代码如下所示:
<!DOCTYPE html >
<html lang="en" style="background: #fffff0;">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body >
<div style="padding-left: 400px;padding-top: 200px;padding-right: 400px;"><p style=" line-height: 130%; padding-left: 10px;padding-top: 10px;padding-right: 10px;padding-bottom: 10px;background: white; border-radius: 15px; border-style: groove"><b>Aufgabe 3</b><br><br>
some text....
<br><br>
<a href="Hoffest.jpg" download="Hoffest.jpg">
<img src="Hoffest.jpg" width="150" height="120">
</a>
<br><br>
some more text...
<br><br><button type="button" id="weiter" value="weiter" style="font-size : 26px; width: 9%; height: 36px; border-radius: 7px"
onclick="window.location.href='{{ url_for( 'test' ) }}'">weiter</button></p></div>
</body>
</html>
当我打开 html 文件时,我还可以看到一些文本和图像视图。当我点击图片时,我希望它会像上面的链接一样被下载。而是单击在同一选项卡上打开此图像文件,从我的 html 文件更改。我也试过用按钮来做。所以,而不是<img src="Hoffest.jpg" width="150" height="120">
我把<button>Download Image</button>
. 同样的事情也发生了。当我单击该按钮时,它只是在同一选项卡上打开了图像而不下载它。我究竟做错了什么?
解决方案
根据您对我的评论的回答,我假设您是通过在浏览器中打开 HTML 文件直接尝试此操作。
该download
属性对原点有很强的限制。它必须相同(blob:
和方案除外),但如果您直接打开文件(使用)data:
,它也不起作用file://
您可以做的是运行本地 HTTP 服务器(我个人使用 npm 包http-server
,或者您可以运行 Apache 或 Nginx 等经典 Web 服务器)并使用 HTTP 协议通过服务器访问您的文件。
推荐阅读
- node.js - 找到所需文件后,如何立即停止递归搜索目录?
- python - 如何从 Pandas 数据框中获取 1 和 0 的最大连续数量
- android - RecyclerView ItemView 在 OREO 及以上版本崩溃
- javascript - 如何在javascript中将项目转换为键/值对对象?
- javascript - 在页面加载时显示最后一页的所有表格行
- python - 切片功能开启
环形 - python - 如何通过 python lambda 将 zip 文件从 android 上传到 s3?
- c# - C# 从 SQL 查询填充报告
- svelte - 将自动生成的苗条类名称更改为其他名称
- php - Apache2 PHP 内存不足(IP 欺骗 DDOS 攻击?)