php base64尺寸,PHP base64编码的图像显示不正确
我試圖使用base64編碼將圖像(任何大小)發送到我創建的API。編碼后的字符串會作為URL中的參數訪問我的API。使用PHP構建的API。PHP base64編碼的圖像顯示不正確
一旦請求命中我的API,我想將圖像存儲到我的服務器上,并將文件名保存在數據庫中。這是工作,但我得到一些奇怪的輸出與實際的形象。
我想我的存儲服務器上的圖像:
$encode = base64_encode(file_get_contents($image));
echo $encode;
為了進行測試,在此輸出中是我使用的是傳遞給我的API的字符串。
在API:
$image = base64_decode($_POST['image']));
$image_name = md5($image) . ".jpg";
file_put_contents(/public/image/ . $image_name, $image);
這工作,我的形象被放到服務器在正確的目錄與保存到數據庫中的隨機名字。
然而,直接導航到圖像時,圖像扭曲:
如果你有敏銳的眼光,在圖像的頂部部分實際上是正確的,它開始失效前,這讓我開始思考字符串是否沒有正確編碼以作為參數發送?
任何線索都會很可愛,歡呼。
編輯:改變它POST,刪除urlencode /解碼&刪除strtr。
2014-01-27
Alias
+1
PHP正在截斷您的變量。您可以更改配置以允許更長的長度。我會馬上切換到POST。 –
+1
也注意到一些瀏覽器/服務器對網址長度也設置了最大限制 –
+2
...如果您不使用GET,則不必使用urldecode,這實際上只是代碼可能中斷的另一種方式 –
總結
以上是生活随笔為你收集整理的php base64尺寸,PHP base64编码的图像显示不正确的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我国的经济实力越来越强大,出口对经济的贡
- 下一篇: PHP中英文截取函数,php字符串截取函