使用javascript从我的服务器目录下载文件

时间:2014-11-27 13:00:03

标签: javascript php html download

请用下面的代码进行理解。我在我的代码中使用html和javascript我想使用javascript codding从我的服务器目录下载文件,例如当我点击下载按钮然后我想要一个关于javascript点击事件的文件。

{function downloadfile(path){
 alert(path);
}
<a href="#" onclick="downloadfile('uploaded/document/<?=$row['filelocation'];?>')">DOWNLOAD</a>}

3 个答案:

答案 0 :(得分:1)

你试过这个吗?

window.open(URL, '_self');

URL是您要下载的文件的绝对URL。

答案 1 :(得分:1)

如果您正在寻找,则无法通过JavaScript强制下载文件。您可以在新窗口中打开该文件,但在我看来,正确的方法是避免使用JavaScript并链接到强制下载的PHP文件,这样浏览器就不会显示该页面,因为它正在下载文件。

这将属于以下几行:

HTML / PHP

<a href="download.php?file=uploaded/document/<?=$row['filelocation'];?>">DOWNLOAD</a>

PHP脚本(download.php) - 我从http://davidwalsh.name/php-force-download获得了部分代码

<?php
// grab the requested file's name
$file_name = urldecode($_GET['file']);

// make sure it's a file before doing anything!
if(is_file($file_name)) {
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
    header('Content-Length: '.filesize($file_name));    // provide file size

    readfile($file_name);       // push it out
}
?>

答案 2 :(得分:1)

链接的目的地有一个包含此来源的PHP文件:

// File: download.php

$filename = $_GET['path'];

header('Content-type: Application/octet-stream');
header('Content-Disposition: attachment; filename=$nome_file');
header('Content-Description: My Download :)');
header('Content-Length: '. filesize($filename) );
readfile($filename);

您的Javascript功能:

function downloadfile(path){
    window.open('download.php?path='+path, '_blank');
}

祝你好运, 凯文