如何将文档从 <href='mypdf.pdf'标签保存到服务器目录>

How can I save a document to server directory from <a href='mypdf.pdf'> tag?

本文关键字:保存 标签 服务器 pdf 文档 href mypdf      更新时间:2023-09-26

现在我遇到了麻烦。我需要在我的服务器目录中保存一个附加在标签中的文档。那是。

<a href='mypdf.pdf'>My pdf</a>

所以 mypdf.pdf 是由 javascript 动态更改的,但我需要将此文档保存到我的服务器目录中。我对此一无所知...

您尝试实现的内容称为文件上传。在javascript/html端,这取决于您希望如何上传文件。

以下问题将帮助您使用 HTML5 异步上传文件如何异步上传文件?

作为替代方案,您也可以查看(在不支持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