php把PDF文件转为文件流返回客户端
文章描述:
pdf地址可以是远程地址,列入七牛云地址:https://files.baidu.apps.cn/storag […]
pdf地址可以是远程地址,列入七牛云地址:https://files.baidu.apps.cn/storage/report/2025-10/4994290_1.pdf
<?php
// 确保PDF文件路径正确
$pdfPath = 'path/to/your/file.pdf';
// 读取PDF文件内容
$pdfContent = file_get_contents($pdfPath);
// 设置正确的Content-Type
header('Content-Type: application/pdf');
// 可选:设置文件名
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// 输出PDF内容到浏览器
echo $pdfContent;
exit; // 确保脚本执行完成后退出
uniapp
uni.request({
					// url: `${this.$baseUrl}/Preview.Preview/getHtmlContent`,
					url:url,
					header: {
						'content-type': 'application/x-www-form-urlencoded',
						'token': uni.getStorageSync('token')
					},
					method: 'GET',
					data: param,
					responseType: "arraybuffer", //注意这里的responseType
					success: (result) => {
						var fileManager = uni.getFileSystemManager();
						var FilePath = `${wx.env.USER_DATA_PATH}/${this.basic.customer.name_zh}-${this.jobid}-${this.basic.job_date}-`+time+`.pdf`;
						fileManager.writeFile({
							filePath: FilePath,
							data: result.data,
							encoding: "binary", //编码方式 
							success: res => {
								console.log('编码格式');
			          uni.openDocument({ //我这里成功之后直接打开
									filePath: FilePath,
									showMenu: true,
									fileType: "pdf",
									success: result => {
										//隐藏加载状态
										uni.hideLoading();
										console.log("打开文档成功");
									},
									fail: err => {
										console.log("打开文档失败", err);
										//隐藏加载状态
										uni.hideLoading();
										uni.showToast({
											title: '打开文档失败',
											icon: 'none',
											duration: 2000
										});
									}
								});
							},
							fail: res => {
								//隐藏加载状态
								uni.hideLoading();
								uni.showToast({
									title: '文档已下载!',
									icon: 'none', //默认值是success,就算没有icon这个值,就算有其他值最终也显示success
									duration: 2000, //停留时间
								})
								console.log(res);
							}
						})
					},
					fail(err) {
						uni.hideLoading();
						console.log(err)
					}
				})
发布时间:2025/10/31 
                
            
发表评论