【问题标题】:How to prompt save as option for user to download file using chrome?如何提示用户使用 chrome 下载文件的另存为选项?
【发布时间】:2016-12-23 05:31:23
【问题描述】:

我有方法下载文件,只要这个方法调用它按预期工作,我只是看到 IE 用户的浏览器有差异,可以选择另存为文件,但在 chrome 中它直接下载文件,我们如何才能拥有该功能在 chrome 中,用户可以在保存文件时使用另存为选项,以便他们可以命名文件?

ctrl.js

function deleteFile(filename){
    DitFactory.getFile(filename).then(function(response,$window){
        console.log('data for download', response);
        var data = JSON.stringify(response.data);
        var blob = new Blob([data], { type: 'text/plain;charset=utf-8' });
        FileSaver.saveAs(blob, 'server.log');
        socket.emit('stopRecording',$scope.filename);
    });
}

【问题讨论】:

    标签: javascript google-chrome cross-browser


    【解决方案1】:

    你问的是不可能的。
    这是用户偏好

    参考:http://www.howtogeek.com/231002/how-to-change-the-chrome-download-folder-location/

    您唯一能做的就是让用户在保存之前在输入元素内重命名 server.logwindow.prompt

    saveAs(blob, prompt('Filename?', 'server.log') || 'server.log');
    

    【讨论】:

    • 我希望用户选择目录并使用 IE 等新名称保存文件。
    • 感谢您的解释,我会采用您的方法。
    【解决方案2】:

    那么,你为什么不使用常规确认?

    if (confirm('Save As a File?')) {
    
       FileSaver.saveAs(blob, 'server.log');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 2011-10-31
      • 2021-03-15
      • 1970-01-01
      • 2019-05-19
      • 1970-01-01
      • 2015-11-10
      相关资源
      最近更新 更多