如何提示用户使用 chrome 下载文件时另存为选项?
How to prompt save as option for user to download file using chrome?
我有一个方法,只要调用它的方法按预期工作,我就会下载文件,我只是看到浏览器的不同之处在于 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);
});
}
嗯,你为什么不使用常规确认?
if (confirm('Save As a File?')) {
FileSaver.saveAs(blob, 'server.log');
}
你问的是不可能的。
这是用户偏好
参考:http://www.howtogeek.com/231002/how-to-change-the-chrome-download-folder-location/
您唯一可以做的就是让用户在保存
之前在输入元素或 window.prompt
中重命名 server.log
saveAs(blob, prompt('Filename?', 'server.log') || 'server.log');
我有一个方法,只要调用它的方法按预期工作,我就会下载文件,我只是看到浏览器的不同之处在于 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);
});
}
嗯,你为什么不使用常规确认?
if (confirm('Save As a File?')) {
FileSaver.saveAs(blob, 'server.log');
}
你问的是不可能的。
这是用户偏好
参考:http://www.howtogeek.com/231002/how-to-change-the-chrome-download-folder-location/
您唯一可以做的就是让用户在保存
之前在输入元素或window.prompt
中重命名 server.log
saveAs(blob, prompt('Filename?', 'server.log') || 'server.log');