现在我遇到了麻烦。我需要在我的服务器目录中保存一个附在标签中的文档。就是这样。
<a href='mypdf.pdf'>My pdf</a>
因此mypdf.pdf是通过javascript动态更改的,但我需要将此文档保存到我的服务器目录中。我对此一无所知...
答案 0 :(得分:0)
您要尝试的内容称为文件上传。在javascript / html方面,这取决于您希望如何上传文件。
以下问题将帮助您使用HTML5上传异步文件 How can I upload files asynchronously?
作为替代方案,您还可以查看(如果不支持HTML5文件上传,则会提供后备) http://www.uploadify.com/ 和 http://blueimp.github.io/jQuery-File-Upload/
如果您已经有权访问文件对象并且使用兼容的浏览器(使用HTML5文件API),可以在js端使用以下方法 -
function uploadFile(myFileObject) {
// Open Our formData Object
var formData = new FormData();
// Append our file to the formData object
// Notice the first argument "file" and keep it in mind
formData.append('my_uploaded_file', myFileObject);
// Create our XMLHttpRequest Object
var xhr = new XMLHttpRequest();
// Open our connection using the POST method
xhr.open("POST", 'upload.php');
// Send the file
xhr.send(formData);
}
在服务器端,您需要一个文件处理脚本(上传处理程序)
以下是来自w3schools网站的非常原始的代码,该代码将文件保存在名为upload的目录中。
<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
有关php端文件上传的更多信息以及上述代码的源代码检查 http://www.w3schools.com/php/php_file_upload.asp