我試圖做一個圖像上傳,其中JavaScript通過AJAX發佈了一個圖像的DataURI,PHP接收它將其解碼爲圖像。通過datauri和php base64解碼上傳的javascript圖像
問題是,除了最終產品不是圖像文件外,一切工作正常。
請看下面的示例代碼。
的JavaScript:
dataString='encodedimg='+e.target.result.match(/,(.*)$/)[1]+'&type='+type;
$.ajax({
url: 'uploadhandler_ajax.php',
type: 'POST',
data: dataString,
success: function(data){
//print success message
});
PHP:
$encodedimg = $_POST['encodedimg'];
file_put_contents('asdf.png', base64_decode($encodedimg));
沒有與$_POST['encodedimg']
沒有問題的,因爲它使用在線的base64轉換器產生正確的圖像。所以我假設有一個誤用file_put_contents()
或base64_decode()
。
感謝幫助!
感謝這個解決方案,但你的文件名不保證能夠在'MD5獨特(mt_rand(1,123123123) )' - 我推薦'uniqid()'。 – tubes