【发布时间】:2017-08-03 08:34:38
【问题描述】:
我正在尝试将存储在数据库中的 PDF 文件显示为 BLOB 文件。虽然我已经尝试了几种方法,但我似乎仍然无法做到正确。
这是我(尝试)从我的数据库中下载 PDF 文件的方法:
function fillArrays(){
$idArray = array();
$sql = "SELECT oglas_id,slika,prioriteta FROM deska WHERE deska.datumz <= CURRENT_DATE AND deska.datumk >= CURRENT_DATE;";
$result = mysqli_query($GLOBALS['conn'],$sql);
$resultCheck = mysqli_num_rows($result);
if($resultCheck>0){
while($row = mysqli_fetch_assoc($result)){
array_push($GLOBALS['idArray'],$row['oglas_id']);
$b64Doc = chunk_split(base64_encode(file_get_contents($row['slika']))); // THIS LINE!
$file = "data:application/pdf;base64,".$b64Doc; // THIS LINE!
array_push($GLOBALS['imgArray'],$file); // THIS LINE!
array_push($GLOBALS['prArray'],$row['prioriteta']);
}
}else{
die("Oops there seems to be an error(arr)");
}
}
我标记为“这条线!”的代码应该将我所有的 PDF 文件从数据库中放入一个名为 $imgArray 的 PDF 文件数组中。然后我 json_encode 数组并将其分配给 JavaScript 中的 imgArray 变量:
var imgArray = <?php echo json_encode($imgArray) ?>;
最后,我尝试在通过 JavaScript 创建的表格中显示相同的 PDF 文件 4 次。 (我在 PHP 主文件中调用 createTable()):
var idArray = window.idArray;
var imgArray = window.imgArray;
var prArray = window.prArray;
var screenH = screen.height/2.1;
var screenW = screen.width/2.1;
var tdW;
var tdH;
function createTables(){
if(idArray.length>2){
rows=2;
cols=2;
tdW='100%';
tdH='100%';
}else if(idArray.length==2){
rows=1;
cols=2;
tdW='100%';
tdH='100%';
}else if(idArray.length==1){
tdW='100%';
tdH='100%';
}
var table = '';
for(var r=0;r<rows;r++){
table += '<tr>';
for(var c=0;c<cols;c++){
table += '<td style="max-width:'+tdW+';max-height:'+tdH+';" id="c'+c+r+'">';
table += '<embed src="'+imgArray[1]+'" type="application/pdf" style="max-height:'+screenH+';max-width:'+screenW+';">';
table += '</td>';
}
table += '</tr>';
}
document.write("<table>"+table+"</table>");
}
请参阅我尝试嵌入 pdf 文件的代码底部。网站上的输出是这样的:
语言是斯洛文尼亚语,它说 PDF 文件已损坏。
【问题讨论】:
-
@timclutton 不起作用.. 但是现在的错误是不同的,它说:流必须有数据。
-
抱歉,刚刚删除了该评论,因为我看到您致电
file_get_contents。也删除它!从文件位置读取,但您说数据是 BLOB。 -
@timclutton 我删除了 chunk_split 和 file_get_contents 现在它说“无效的 pdf 结构”
标签: javascript php arrays pdf