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

发表评论