PHP ajax 远程下载PDF文件保存在本地服务器
在一些时候我们想ajax方式来保存一些PDF文件,尤其是它放在远程服务器上,并且是保存在我们自己的服务器上存储,这个时候我们需要写一段程序来帮助我们完成这个工作,本文介绍了PHP 远程下载PDF文件保存在本地服务器本地化,需要的朋友可以参考下:
html页面代码如下:
<!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.js代码如下:
$(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('下载成功');}})}});});
});
jquery.binarytransport.js代码如下:
/**** 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 typeif (window.FormData && ((options.dataType && (options.dataType == 'binary')) || (options.data && ((window.ArrayBuffer && options.data instanceof ArrayBuffer) || (window.Blob && options.data instanceof Blob))))){return {// create new XMLHttpRequestsend: function(_, callback){// setup all variablesvar xhr = new XMLHttpRequest(),url = options.url,type = options.type,// blob or arraybuffer. Default is blobdataType = options.responseType || "blob",data = options.data || null;xhr.addEventListener('load', function(){var data = {};data[options.dataType] = xhr.response;// make callback and send datacallback(xhr.status, xhr.statusText, data, xhr.getAllResponseHeaders());});xhr.open(type, url, true);xhr.responseType = dataType;xhr.send(data);},abort: function(){jqXHR.abort();}};}
});
再来看看我的本地读取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 "写入成功";
}
最后把jquery库文件引进来,远程下载后,本地即可以打开和原始文件内容一模一样,不会出现乱码了。
PHP ajax 远程下载PDF文件保存在本地服务器相关推荐
- java用itextPDF生成PDF文件保存至本地并上传至ftp服务器
标题java用itextPDF生成PDF文件保存至本地并上传至ftp服务器 所需jar :itext-asian-5.2.0.jar,itextpdf-5.5.5.jar,commons-net-3. ...
- 使用java生成PDF并保存到本地服务器中
使用java生成PDF并保存到本地服务器中 1.导入maven <!-- PDF工具包 --><dependency><groupId>com.itextpdf&l ...
- html长图转换成pdf,iOS将HTML页面转换成PDF文件保存到本地并分享传输文件
第一次修改:2017.05.26 修改内容:之前的方法在转化带有图片的html页面时会出现图片缺失问题,由于之前我需要转换的html不包含图片,所以没有发现这一问题,现在增加一个直接将webView转 ...
- Java生成PDF文件保存到本地磁盘
使用IText进行创建 代码 package cn.xx.xx.util;import com.itextpdf.text.*; import com.itextpdf.text.pdf.BaseFo ...
- 微信语音保存到本地服务器,文件格式由amr转mp3
最近开发的微信项目里面需要用到微信语音的功能,结合微信开发文档的网页js接口,语音可以在网页上生成并上传到微信服务器,但是微信服务器保存的时间有限,还是保存到自己的本地服务器比较稳当,这样需要把语音文 ...
- 前端接收pdf文件_原生ajax请求获取pdf文件流本地下载(支持谷歌IE)
项目中要实现本地下载pdf文件,ajax请求获取到文件全路径,如上,a标签href属性赋值跳转,在iframe里面,谷歌浏览器被阻止下载.那只能另想办法.经过几天的摸索和后台调整接口数据流,终于解决. ...
- java网页保存pdf_JavaScript+Java实现HTML页面转为PDF文件保存的方法
JavaScript+Java实现HTML页面转为PDF文件保存的方法 发布于 2017-02-27 09:58:50 | 160 次阅读 | 评论: 0 | 来源: 网友投递 JavaScript客 ...
- php+预览和下载pdf文件,vue实现在线预览pdf文件和下载(pdf.js)
最近做项目遇到在线预览和下载pdf文件,试了多种pdf插件,例如jquery.media.js(ie无法直接浏览) 最后选择了pdf.js插件(兼容ie10及以上.谷歌.安卓,苹果) 强烈推荐改插件, ...
- 不用网页另存PDF,浏览器在线简单查找下载PDF文件分享
移动互联网时代网上公开了很多电子资源,这些PDF文档可以在线查看和下载.平时一些政策或想要了解其他的事情信息,现在可以直接搜到文件不用网页另存为PDF.当然有些文件不允许下载,如果搜到需要的内容只能查 ...
最新文章
- 清华大学朱军:深度生成模型、算法和概率编程库(附视频+PPT)
- 身份识别协议枚举工具ident-user-enum
- BZOJ4921「Lydsy1706月赛」互质序列
- List、Vector、ArraryList、LinkedList
- tableau实战系列(六)-小面积图表如何完整显示标签
- Tidb集群加mysql_TiDB - 快速入门,集群搭建
- 23种设计模式之门面模式
- java 获取本机ip_linux获取本机IP
- Python+matplotlib绘制箱线图并设置异常值、中值、均值显示格式
- C语言小算法:ACSII码(多字节)和Unicode(宽字节)互转
- 记录一下weui文档地址
- 零基础HTML入门教程(21)--表格
- 怎么实现html网页爱心动态,想着网页上做动态爱心怎么做
- SSL证书的申请流程
- Shell脚本——条件语句
- linux uac 设备,USB Audio Class (UAC) 分析
- 我的创作纪念日(128天)
- 上传资料总是显示服务器异常,云盘上传总是服务器异常
- Python安装Pillow时出现The headers or library files could not be found for zlib/jpeg错误
- CStdioFile,CFile类,文本文件处理(MFC学习园地)