2012-10-03 6 views
0

Я загружаю файл с помощью функции скрипта, используя загрузку iframe и загрузку новой страницы.Как загрузить текстовые файлы с помощью java-скрипта

Используя этот метод, я загрузить весь файл в формате, но я не могу в состоянии загрузить файл .txt

Пожалуйста, помогите мне скачать файл Said

Wizard
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); 
} 
+0

Что случилось с загрузкой текстовых файлов? Любые ошибки? – bjornd

+1

Ничего не обойтись без кода сервера и сервера - браузеры будут открывать текстовые файлы в виде обычного текста и не будут открывать диалог открытия/сохранения. –

ответ

0

Как Тень, это будет работать , если вы указали iframe на URL-адрес, который отправляет обратно 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, чтобы передать URL через этот 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); 
} 
Смежные вопросы