“另存为”对话框
save as dialog box in Firefox
我想在用户单击HTML按钮时显示另存为对话框。我正在使用DOJO和JavaScript。在IE文档中。exec来拯救,但在Firefox中,需要修改文件系统才能使用NSI。
可以使用data url强制浏览器下载一些数据:
content = "This is the text for downloading";
window.location.href = "data:application/octet-stream,"+
encodeURIComponent(content);
这样做的主要问题是用户将无法选择文件名,并且生成的文件名是一些随机散列。如果你不介意使用Flash,你可以使用下载,这将给你更多的控制保存对话框。
让HTML按钮href为未知文档类型。说 FileName.xxxblah 。
这将自动触发另存为对话框。这不是你想要的,但唯一的可靠的我知道的方式是在服务器上创建一个服务器端脚本,将发送正确的头。在PHP中是这样做的:
header('Content-type: text/csv');
header('Content-Disposition: attachment; filename="mydocument.csv";' );
header('Content-length: '.(int)strlen($csvData));
print($csvData);
Content-type
是文档的"mime类型",为了与某些浏览器兼容,重要的是它与文件名的扩展名完全匹配。
Content-Disposition: attachment
指示浏览器下载页面,即使它通常不会为mime类型这样做,并且您可以提供文件名。
Content-length
是下载的大小,这是可选的,但如果你想让用户看到下载的进度条,它必须提供。
有些浏览器会显示另存为对话框,而其他浏览器则会简单地将文件保存到用户首选的下载文件夹中。你无法控制将要发生什么
相关文章:
- Safari浏览器上的“强制另存为”对话框
- 强制浏览器打开“;另存为“;对话框
- 如何在浏览器中触发另存为对话框,以便可以在内存中保存 json 数据
- 如何在Chrome中禁用“另存为”对话框
- 如何防止操作系统“另存为”对话框在输入 Ctrl S 时弹出
- 需要一个类似于“另存为”对话框的解决方案来使用 javascript 选择文件名和位置
- 如何使用javascript将默认文件扩展名放在另存为对话框中
- 如何通过提示“另存为”对话框从网页中保存文件
- 如何在“另存为”对话框中自动单击“保存”
- Firefox在另存为类型-另存为对话框中的文件类型不正确
- 从javascript打开另存为对话框
- “另存为”对话框
- csv文件下载后,使用jQuery/Javascript打开另存为对话框
- 显示“另存为”;对话框,而不是用JavaScript播放音频文件
- 如何发送一个文件从服务器与另存为对话框
- ajax→下载前另存为对话框
- 当在网站上单击按钮时,打开另存为对话框的正确方式是什么
- 打开“另存为”;对话框下载镜像
- 在Chrome中按下“另存为”对话框
- 在窗口上调用另存为对话框.指向图像文件的位置