我有一个文件类型输入。我希望将插入到输入中的照片发送到数据库并保存。我写了一些根据逻辑应该可以工作的代码。但我不知道为什么它不起作用。我错在哪里?列照片是 longblob 类型html <label for="">img</label> <input type="file" id="immagine" >javascript function values(a){ if (a.length>1){ var img; const fr = new FileReader(); fr.onload = () => { // It worked img = fr.result; var params= "V1="+a[2]+"& V2="+a[3]+"& V3="+a[4]+"& V4="+a[5]+"& V5="+a[6]+"& V6="+a[7]+"& V7="+a[8]+"& V8="+a[9]+"& V9="+a[10]+"& V10="+a[11]+"& V11="+a[12]+"& V12="+a[13]+"& V13="+a[14]+"& V14="+a[15]+"& img="+img; var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { } }; xhttp.open("POST", "./server/AggiuntaBhk.php", true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.send( params); // ...use the array here... }; fr.onerror = () => { // The read failed, handle/report it document.getElementById("a").innerHTML= "noo"; }; fr.readAsBinaryString(document.getElementById('immagine').files[0]);}}php include("../../connessione_db/db_con.php"); // Include il file di connessione al database session_start(); $v1=$_REQUEST["V1"]; $v2=$_REQUEST["V2"]; $v3=$_REQUEST["V3"]; $v4=$_REQUEST["V4"]; $v5=$_REQUEST["V5"]; $v6=$_REQUEST["V6"]; $v7=$_REQUEST["V7"]; $queryI = mysqli_query($connessione_al_server,$queryInput);查询后显示 <?php echo '<img id="imgcaricata" class="mySlides" src="data:image/jpeg;base64,'.base64_encode( $foto["Foto"] ).'" style="height:auto; width:auto;max-width:500px; margin-top:55px;" />'; ?>我也尝试过until8Array,FileReader.readAsArrayBuffer()在数据库中我有正确的文件,但没有显示任何内容。如果我使用浏览选项直接在数据库中插入图像,我只能看到图像。存储或展示我错了吗?
1 回答
qq_笑_17
TA贡献1818条经验 获得超7个赞
首先通过 JavaScript 读取文件:
var oFReader = new FileReader();
oFReader.readAsDataURL(document.getElementById("immagine").files[0]);
oFReader.onload = function (oFREvent) {
imgdata = oFREvent.target.result;
};
添加imgdata在params:
var params = "img=" + encodeURIComponent(imgdata);
发送到服务器:
xhttp.send(params);
查询后显示:
<?php
echo '<img id="imgcaricata" class="mySlides" src="'.$foto["Foto"].'" style="height:auto; width:auto;max-width:500px; margin-top:55px;"/>';
?>
- 1 回答
- 0 关注
- 184 浏览
添加回答
举报
0/150
提交
取消