簡體   English   中英

將圖像(作為數據:image / png:base64)上傳到網絡服務器

[英]Uploading image (as data:image/png:base64) to webserver

我在這樣構建的網頁上有一個圖像:

<img src="data:image/png;base64;...." />

圖像的內容來自用戶粘貼到瀏覽器中。 我的問題是如何將圖像上傳到網絡服務器(如果重要的話,PHP)。

1)使用javascript(或用戶提交的數據)獲取src屬性

2)按原樣將其提交給服務器,或者在base64;之后剪切並提交所有內容base64; (AJAX或POST,方法GET可能不適合大圖像)

3)在服務器端解碼base64(在base64;之后的所有內容base64;如果沒有切割),將結果保存為二進制 - 它是一個圖像。

而已。

ps:只是一個提醒 - 仔細考慮可能的代碼注入。 檢查提交的數據或有人將上傳編碼的PHP腳本。 禁用上傳文件夾中的php引擎,並驗證最終結果是否為實際圖像(例如,在GD庫的幫助下)。 即使腳本無法在您的服務器上運行,它也可能被用於使用php腳本對其他服務器的惡意請求。

只需將基本64位編碼文本發布到您的服務器即可。

你可以把它保存為......

file_put_contents($image, base64_decode($str));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM