我有一个基本的HTML概念.我想在我的示例网站中创建下载链接,但我不知道如何创建它.如何建立链接以下载文件而不是访问它?
我想下载一个网页的本地副本,并获取所有的CSS,图像,JavaScript等.
在之前的讨论中(例如,这里和这里,两者都超过两年),通常提出两个建议:wget -p和httrack.但是,这些建议都失败了.我非常感谢使用这些工具中的任何一个来完成任务; 替代品也很可爱.
选项1: wget -p
wget -p成功下载所有网页的先决条件(css,images,js).但是,当我在Web浏览器中加载本地副本时,该页面无法加载先决条件,因为尚未从Web上的版本修改这些先决条件的路径.
例如:
<link rel="stylesheet href="/stylesheets/foo.css" />需要更正指向新的相对路径foo.cssbackground-image: url(/images/bar.png)同样需要进行调整.有没有办法修改,wget -p以便路径正确?
选项2:httrack
httrack对于镜像整个网站来说,它似乎是一个很棒的工具,但我不清楚如何使用它来创建单个页面的本地副本.httrack论坛中有很多关于这个主题的讨论(例如这里),但似乎没有人有防弹解决方案.
选项3:另一个工具?
有些人建议使用付费工具,但我无法相信那里没有免费的解决方案.
非常感谢!
这是运行wget的最简单示例:
wget http://www.example.com/images/misc/pic.png
Run Code Online (Sandbox Code Playgroud)
但如果pic.png已经可用,如何使wget跳过下载?
我生成普通链接,如:<a href="/path/to/image"><img src="/path/to/image" /></a>在网络应用程序中.
当我点击链接时,它会在新页面中显示图片.如果要保存图片,则需要右键单击它并选择"另存为"
我不想要这种行为,我想在点击链接时弹出一个下载框,这是否可能只是用html或javascript?怎么样?
如果不是,我想我必须编写一个download.php脚本,并将其作为参数调用href,文件名为...?
我有一个可以访问的在线HTTP目录.我试图通过下载所有子目录和文件wget.但问题是,当wget下载子目录时,它会下载index.html包含该目录中文件列表的文件,而无需自行下载文件.
有没有办法下载没有深度限制的子目录和文件(好像我要下载的目录只是一个我要复制到我的计算机的文件夹).

我很确定这不是重复的,所以请耐心等待一分钟.
如何在不使用任何第三方库的情况下以编程方式(C#)压缩文件(在Windows中)?我需要一个原生的Windows调用或类似的东西; 我真的不喜欢开始一个过程的想法,但如果我绝对不得不这样做.PInovke呼叫会好得多.
如果做不到这一点,让我告诉你我真正想要实现的目标:我需要能够让用户在一个请求中下载一组文档.有关如何实现这一目标的任何想法?
我的网站上有一些大尺寸的PDF目录,我需要将它们作为下载链接.当我用Google搜索时,我发现下面有这样的事情.它应该在链接点击时打开" 另存为... "弹出窗口...
<head>
<meta name="content-disposition" content="inline; filename=filename.pdf">
...
Run Code Online (Sandbox Code Playgroud)
但它不起作用:/当我链接到如下文件时,它只链接到文件,并试图打开该文件.
<a href="filename.pdf" title="Filie Name">File name</a>
Run Code Online (Sandbox Code Playgroud)
更新(根据以下答案):
我认为没有100%可靠的跨浏览器解决方案.可能最好的方法是使用下面列出的一个Web服务,并提供下载链接...
当强制通过window.location下载时,如何在JavaScript中设置blob文件的名称?
function newFile(data) {
var json = JSON.stringify(data);
var blob = new Blob([json], {type: "octet/stream"});
var url = window.URL.createObjectURL(blob);
window.location.assign(url);
}
Run Code Online (Sandbox Code Playgroud)
运行上面的代码会立即下载文件而不会刷新页面,如下所示:
bfefe410-8d9c-4883-86c5-d76c50a24a1d
我想将文件名设置为my-download.json.
如何使用wget和获取网站上的所有文件?
我需要除HTML,PHP,ASP等网页文件以外的所有文件.