本篇內(nèi)容介紹了“php blob如何轉(zhuǎn)base64”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
十多年的珠海網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整珠海建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“珠海網(wǎng)站設(shè)計(jì)”,“珠海網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
php blob轉(zhuǎn)base64的方法:1、打開相應(yīng)的代碼文件;2、修改PHP內(nèi)容為“fetch("/path/to/server", {method: "POST"body: files[i]})...”即可。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
php blob 怎么轉(zhuǎn)base64?
在PHP中將本地圖像Blob轉(zhuǎn)換為base64
具體問題描述:
我正在為內(nèi)部工具編寫(HTML)表單.用戶可以填寫有關(guān)問題的數(shù)據(jù)并附加屏幕截圖.然后將此表單通過Ajax提交給PHPMailer進(jìn)行發(fā)送.問題出在截圖上.由于系統(tǒng)限制,我無法讓用戶實(shí)際將文件上傳到服務(wù)器.
當(dāng)前,我正在使用HTML5文件閱讀器來選擇文件.然后,我將圖像Blob轉(zhuǎn)換為base64,并將其發(fā)送到PHPMailer,以轉(zhuǎn)換為附件.這實(shí)際上工作得很好.但是,我遇到了文件大小問題.具體來說就是1000px x 1000px(402KB)的測試圖像.產(chǎn)生的base64字符串超過一百萬個(gè)字符,并且請求返回 413(請求實(shí)體太大).
我知道base64并不是傳輸大型圖像的有效方法,并且我已經(jīng)看到有關(guān)從數(shù)據(jù)庫檢索/轉(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對象的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”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!