0

スクリプト関数を使用して、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);
}
4

1 に答える 1

0

Shadow Wizard が言ったように、特定のヘッダーを送り返す URL を iframe に指定している場合、これは機能します。これは、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);

download.php次に、このファイルを介して URL を渡すように JavaScript を編集するだけです。

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);
}
于 2012-10-03T10:54:17.847 に答える