Javascript window.open文件下载回调

Javascript window.open文件下载回调,javascript,angularjs,Javascript,Angularjs,我正在使用窗口.open(downloadUrl,'.'u self')从服务器下载tar.gz文件。我想在下载成功(使用“文件保存”对话框中的“保存”按钮)或用户取消下载(使用“文件保存”对话框中的“取消”按钮)后,从服务器上删除相同的文件 是否有任何回调机制可用于在文件成功写入客户端pc或客户端取消下载后立即获取通知?问题在于浏览器在下载启动后处理下载,而您没有成功下载的挂钩。您可以考虑像jQuery这样的东西来下载文件。也许像下面这样。这是一本书 注意:这被认为是实验性技术,并非所有浏览器

我正在使用
窗口.open(downloadUrl,'.'u self')
从服务器下载tar.gz文件。我想在下载成功(使用“文件保存”对话框中的“保存”按钮)或用户取消下载(使用“文件保存”对话框中的“取消”按钮)后,从服务器上删除相同的文件


是否有任何回调机制可用于在文件成功写入客户端pc或客户端取消下载后立即获取通知?

问题在于浏览器在下载启动后处理下载,而您没有成功下载的挂钩。您可以考虑像jQuery这样的东西来下载文件。也许像下面这样。这是一本书

注意:这被认为是实验性技术,并非所有浏览器都支持

var loc = 'https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.js';
var url = '';

$('#output > a').on('click', function() {
    URL.revokeObjectURL(url);
    $('#output').empty();
    console.log('Revoked URL.');
});

$('#download').click(function () {
    $.get(loc, function (data) {
        var data = [data];
        var blob = new Blob(data, {
            type: 'application/javascript'
        });
        url = URL.createObjectURL(blob);
        $('#output').append('<a href="' + url + '" download>Save it!</a>');
    })
        .fail(function () {
            // delete the file - probably a $.ajax
            //$.ajax({
            //    url: 'url',
            //    type: 'DELETE'
            //});
        });
});
var-loc=https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.js';
var url='';
$('#output>a')。在('click',function()上{
revokeObjectURL(URL);
$(“#输出”).empty();
log(“撤销的URL”);
});
$(“#下载”)。单击(函数(){
$.get(loc,函数(数据){
var数据=[数据];
var blob=新blob(数据{
键入:“应用程序/javascript”
});
url=url.createObjectURL(blob);
$('#output')。追加('');
})
.fail(函数(){
//删除文件-可能是$.ajax
//$.ajax({
//url:'url',
//键入:“删除”
//});
});
});

我正在使用
窗口下载一个zip文件。打开
。当我使用Blob方法下载时,zip文件被破坏,我无法打开它@迈克