我想点击一个链接开始下载图像.
<a id="downloadImage" href="imagepath">Click here to download</a>
Run Code Online (Sandbox Code Playgroud)
我知道我们可以使用HTML5的下载属性(强制浏览器在点击链接后保存文件)但我不想使用它,因为它不适用于旧版本的浏览器.我在这里尝试了这个方法: 使用Javascript/jQuery下载文件, 但它会在iframe中打开图像.
任何人都可以帮我强迫浏览器使用jquery下载链接图像吗?
我们有一个REST API发出JSON,我们可以从中获取数据(使用AJAX).我们想要做的是能够进行AJAX调用,其中每个调用获取一小块数据(比如5000行左右),然后将其写入浏览器上的CSV文件作为下载.
似乎如果我们将所有数据都存储在JS内存中,那么将其写入CSV文件并不难,但如果我们要写出100K记录,那么我们将被迫一次性获取所有100K,然后生成文件一气呵成.
相反,我们觉得在服务器和客户端上下载小块并将其流式传输到文件下载会更加温和.有办法吗?
(我们目前正在使用jQuery 2.0.0,但不介意使用不同的库来完成这项工作)
我正在尝试编写一个类似bookmarklet的js代码段,可以从开发人员工具控制台运行,该控制台将为页面中的图像提供src:
var x = ["PA633", "PA10", "PA11"];
function nextPage(i) {
$('#viewport div:first-child').animate({scrollTop: i}, 200);
i+=1020;
if (i < 20000) { setTimeout(nextPage, 200, i); }
for (index = 0; index < $('div.pageImageDisplay img').length; ++index) {
var page = /&pg=([A-Z]{2,3}\d+)&/.exec($('div.pageImageDisplay img')[index].src);
if ($.inArray(page[1], x) != -1) {
x.splice(x.indexOf(page[1]), 1);
var embiggen = $('div.pageImageDisplay img')[index].src.replace(/&w=\d+$/, "&w=1200");
console.log(embiggen);
}
}
}
Run Code Online (Sandbox Code Playgroud)
此脚本的工作原理是它为每个图像提供正确的src链接.有没有办法让javascript自动下载/保存每个链接?可以点击每个链接(Chrome在新标签中打开这些链接),但这样做有点乏味.
正确的方法是让javascript片段将图像保存到下载文件夹本身,但我有一个模糊的概念,这是不可能的.是否可能,如果是这样,怎么可能实现呢?
请注意,此javascript不会直接包含在网页中,而是专门用于从开发工具控制台运行.
我只有一个 JavaScript 页面和.asmx页面。我想只使用 JavaScript 下载文件,我该如何下载文件。我想下载一份特定的简历。

我在这里收到简历,
var res = data[i].resume;
Run Code Online (Sandbox Code Playgroud) 我想使用html5和javascript或jquery从chrome(所有版本)写入任何文件的txt.
我尝试过FileSystem API,我试过的代码是:
function onFs(fs) {
console.log('test');
fs.root.getFile('log.txt', {create: true, exclusive: true},
function(fileEntry) {
// fileEntry.isFile === true
// fileEntry.name == 'log.txt'
// fileEntry.fullPath == '/log.txt'
fileEntry.getMetaData(function(md) {
console.log(md.modificationTime.toDateString());
}, onError);
},
onError
);
}
window.webkitRequestFileSystem(TEMPORARY, 1024*1024 /*1MB*/, onFs);
但不行.
有没有办法写入文件?
我想使用jQuery从我的浏览器下载并保存文件,特别是Ajax调用.
我发现这篇文章:使用Javascript/jQuery下载文件,并测试了Andrew Dunn提供的隐藏iFrame的解决方案.在一个简单的情况下它工作,服务器播放良好,提供内容配置:附件; ...标题,我得到另存为弹出窗口,一切正常.
但是我的情况更复杂:假设请求不仅仅是一个简单的URL; 必须提供额外的请求标头,可能它甚至不是GET方法,而是具有一些奇特的JSON有效负载的POST.这意味着我应该能够"替换"浏览器的内置get页面机制并提供我的AJAX请求.
为简单起见,我们假设我只需要为请求提供基本身份验证标头.但请记住,我可能需要更复杂的请求.
我对JavaScript和jQuery并不十分熟悉,所以我疯狂地在谷歌上搜索,最后找到了一个几乎解决方案.想法:
以下是相关代码:
function getFile(url)
{
//Creating the iframe
iframe = document.createElement('iframe');
iframe.id = hiddenIFrameID;
iframe.style.display = 'none';
document.body.appendChild(iframe);
// Adding the form to the frame
var externalHtml = '<form id="downloadForm" action="javascript: void(0);"></form>';
$(document.getElementById(hiddenIFrameID)).contents().find('body').html(externalHtml);
var formObj = $(document.getElementById(hiddenIFrameID));
var form = formObj.contents().find('#downloadForm');
// set the submit action to call my ajax function
form.submit(function () { getURL(url); });
// execute form's submit
form.submit();
}
function getURL(url)
{
var response; …Run Code Online (Sandbox Code Playgroud) 我需要与此脚本相关的帮助,以使该脚本可以下载网页上的所有图像。它可以很好地下载第一个图像,然后当Google Chrome浏览器尝试下载其余图像时,显示“无文件”。一些帮助将不胜感激。我通过将其粘贴到javascript控制台中来运行此代码。谢谢!
var images = document.getElementsByTagName('img');
var srcList = [];
var i = 0;
setInterval(function(){
if(images.length > i){
srcList.push(images[i].src);
var link = document.createElement("a");
link.id=i;
link.download = srcList;
link.href = srcList;
link.click();
i++;
}
},1500);
Run Code Online (Sandbox Code Playgroud) 我有一个包含一些信息的javascript对象。我想将其转换为JSON并将其下载为.json文件。似乎我只能JSON.stringify(obj)将其转换为JSON,但实际上如何将其下载为.json文件?
我必须下载一个file (pdf/zip/txt ...)使用jquery.
我试过了什么?
<a href="abc.pdf">click</a>
Run Code Online (Sandbox Code Playgroud)
当我点击链接时,文件在浏览器中打开.
使用jquery ...
$('a').click(function(e)
{
e.preventDefault();
var link = $(this).attr('href');
window.location = link;
});
Run Code Online (Sandbox Code Playgroud)
这也导致在浏览器中打开文件.但我想下载它不在浏览器中显示.
在PHP我们可以使用header('Content-Disposition: attachment; filename="test.mp3"');
但我必须只使用 jquery/javascript..
此SO答案详细说明了如何通过Chrome扩展程序下载文件,但我使用的是内容脚本,该内容脚本对Chrome API的访问权限有限.换句话说,我无权访问该chrome.downloads对象.我也试过这个vanilla JS解决方案,但它对我不起作用.有没有人有内容脚本的解决方案或知道为什么第二个解决方案不起作用?