日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
php blob 怎么轉(zhuǎn)base64

本文操作環(huán)境:windows7系統(tǒng)、php7.1版、DELL G3電腦

php blob 怎么轉(zhuǎn)base64?

在PHP中將本地圖像Blob轉(zhuǎn)換為base64

具體問(wèn)題描述:

我正在為內(nèi)部工具編寫(HTML)表單.用戶可以填寫有關(guān)問(wèn)題的數(shù)據(jù)并附加屏幕截圖.然后將此表單通過(guò)Ajax提交給PHPMailer進(jìn)行發(fā)送.問(wèn)題出在截圖上.由于系統(tǒng)限制,我無(wú)法讓用戶實(shí)際將文件上傳到服務(wù)器.

當(dāng)前,我正在使用HTML5文件閱讀器來(lái)選擇文件.然后,我將圖像Blob轉(zhuǎn)換為base64,并將其發(fā)送到PHPMailer,以轉(zhuǎn)換為附件.這實(shí)際上工作得很好.但是,我遇到了文件大小問(wèn)題.具體來(lái)說(shuō)就是1000px x 1000px(402KB)的測(cè)試圖像.產(chǎn)生的base64字符串超過(guò)一百萬(wàn)個(gè)字符,并且請(qǐng)求返回 413(請(qǐng)求實(shí)體太大).

我知道base64并不是傳輸大型圖像的有效方法,并且我已經(jīng)看到有關(guān)從數(shù)據(jù)庫(kù)檢索/轉(zhuǎn)換圖像斑點(diǎn)的各種文章.我找不到的是有關(guān)檢索本地圖像Blob并將其轉(zhuǎn)換為base64的信息.

我的圖片Blob網(wǎng)址如下所示: blob: http://example.com/18960927-e220-4417-93a4-edb608e5b8b3

是否有可能在PHP中獲取此本地圖像數(shù)據(jù),然后將其轉(zhuǎn)換為base64?

我不能發(fā)布很多源代碼,但是,以下內(nèi)容將使您了解我如何使用FileReader

window.onload=function(){
window.URL = window.URL || window.webkitURL;
var fileSelect = document.getElementById("fileSelect"),
    fileElem = document.getElementById("fileElem"),
    fileList = document.getElementById("fileList");
fileSelect.addEventListener("click", function (e) {
  if (fileElem) {
    fileElem.click();
  }
  e.preventDefault(); // prevent navigation to "#"
}, false);
}
function handleFiles(files) {
  if (!files.length) {
    fileList.innerHTML = "

No files selected!

"; } else { fileList.innerHTML = ""; var list = document.createElement("ul"); fileList.appendChild(list); for (var i = 0; i < files.length; i++) { if(files[i].size > 1000000) { alert(files[i].name + ' is too big. Please resize it and try again.'); } else { var li = document.createElement("li"); list.appendChild(li); var img = document.createElement("img"); img.src = window.URL.createObjectURL(files[i]); img.height = 60; img.setAttribute("class", "shotzPrev"); img.onload = function() { window.URL.revokeObjectURL(this.src); } li.appendChild(img); var info = document.createElement("span"); info.innerHTML = files[i].name + "
" + files[i].size + " bytes"; li.appendChild(info); } } } }

解決方案:

您可以將File對(duì)象的POST php

fetch("/path/to/server", {
  method: "POST"
  body: files[i]
})
.then(response => console.log(response.ok))
.catch(err => console.error(err));

分享文章:php blob 怎么轉(zhuǎn)base64
當(dāng)前地址:http://m.5511xx.com/article/cccgjoo.html