如何使用javascript下载.text文件

时间:2012-10-03 09:22:34

标签: javascript

我使用脚本功能下载文件,使用iframe加载和新页面加载。

使用此方法我下载所有格式文件,但我无法下载.txt文件

请帮我下载文件

if(split[length-1]!="JPEG" && split[length-1]!="bmp" && split[length-1]!="pdf" && split[length-1]!="JPG" && split[length-1]!="jpg" && split[length-1]!="jpeg" && split[length-1]!="png" && split[length-1]!="gif") {
    $("body").append("<iframe src='" + file_path + "' style='display: none;' ></iframe>");
}
else {
    window.open(file_path);
}

1 个答案:

答案 0 :(得分:0)

就像Shadow Wizard说的那样,如果你将iframe指向发送回certain headers的网址,这将会有效。这只适用于服务器端脚本,例如PHP:

<?php
// download.php
if (!$_GET['url']) die();
$url = urldecode($_GET['url']);
$url = 'http://' . str_replace('http://', '', $url); // Stop accessing local file system.
$filename = pathinfo($url, PATHINFO_BASENAME);
$mime = mime_content_type($filename);

header('Content-disposition: attachment; filename=' . $filename);
header('Content-type: '. $mime);
echo file_get_contents($url);

然后,您只需编辑您的javascript即可通过此download.php文件传递网址。

if(split[length-1]!="JPEG" && split[length-1]!="bmp" && split[length-1]!="pdf" && split[length-1]!="JPG" && split[length-1]!="jpg" && split[length-1]!="jpeg" && split[length-1]!="png" && split[length-1]!="gif") {
    $("body").append("<iframe src='download.php?url=" + file_path + "' style='display: none;' ></iframe>");
}
else {
    window.open(file_path);
}
相关问题