Comment implémenter le téléchargement php du pdf et le transférer localement : créez d'abord le code de la page html et le code script.js ; puis créez le code PHP pour lire le fichier pdf localement et enfin introduisez le fichier de la bibliothèque jquery pour le téléchargement à distance ; . Peut.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
PHP ajax télécharge et enregistre à distance les fichiers PDF sur le serveur local
Parfois, nous souhaitons enregistrer certains fichiers PDF en utilisant ajax, surtout s'ils sont placés sur un serveur distant et stockés sur notre propre serveur. À ce stade, nous devons écrire un programme pour nous aider. Pour terminer ce travail, cet article présente PHP pour télécharger à distance des fichiers PDF et les enregistrer sur le serveur local. Les amis qui en ont besoin peuvent se référer à ce qui suit :
le code de la page html est le suivant :
.
<!DOCTYPE html> <html> <head> <script data-require="jquery@2.1.1" data-semver="2.1.1" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" href="style.css" /> <script src="jquery.binarytransport.js"></script> <script src="script.js"></script> </head> <body> <button>download pdf</button> </body> </html>
script. Le code js est le suivant :
$(function() { $("button").click(function() { $.ajax({ url: "http://lch.bat.com/aa.pdf", type: "GET", dataType: 'binary', success: function(result) { var blob = new Blob([result], {type:"application/pdf"}); var data = new FormData(); data.append('file', blob); $.ajax({ type: 'POST', url: 'http://lch.demo.com/read.php', data: data, processData: false, contentType: false, success: function (arg) { alert('下载成功'); } }) } }); }); });
le code jquery.binarytransport.js est le suivant :
/** * * jquery.binarytransport.js * * @description. jQuery ajax transport for making binary data type requests. * @version 1.0 * */ // use this transport for "binary" data type $.ajaxTransport("+binary", function(options, originalOptions, jqXHR){ // check for conditions and support for blob / arraybuffer response type if (window.FormData && ((options.dataType && (options.dataType == 'binary')) || (options.data && ((window.ArrayBuffer && options.data instanceof ArrayBuffer) || (window.Blob && options.data instanceof Blob))))) { return { // create new XMLHttpRequest send: function(_, callback){ // setup all variables var xhr = new XMLHttpRequest(), url = options.url, type = options.type, // blob or arraybuffer. Default is blob dataType = options.responseType || "blob", data = options.data || null; xhr.addEventListener('load', function(){ var data = {}; data[options.dataType] = xhr.response; // make callback and send data callback(xhr.status, xhr.statusText, data, xhr.getAllResponseHeaders()); }); xhr.open(type, url, true); xhr.responseType = dataType; xhr.send(data); }, abort: function(){ jqXHR.abort(); } }; } });
Jetons un coup d'œil à mon code local pour la lecture. fichiers pdf :
<?php /** * Created by PhpStorm. * User: LCA * Date: 2020/9/28 * Time: 9:44 */ //header('Access-Control-Allow-Origin: *'); // 响应类型 header('Access-Control-Allow-Methods:*'); // 响应头设置 header('Access-Control-Allow-Headers:content-type,token,id'); header("Access-Control-Request-Headers: Origin, X-Requested-With, content-Type, Accept, Authorization"); if(isset($_FILES['file'])){ $fname = "cc.pdf"; move_uploaded_file($_FILES['file']['tmp_name'], "/htdocs/demo/" . $fname); echo "写入成功"; }
Enfin, ajoutez la bibliothèque jquery Une fois le fichier importé et téléchargé à distance, il peut être ouvert localement et le contenu du fichier original sera exactement le même sans caractères tronqués.
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!