如果我create a dynamic bitmap上通過javascript的客戶方,如何通過POST提交此或GET(然後從位圖解析出在服務器端的價值觀?的NodeJS,PHP等)如何通過POST提交Javascript生成的位圖圖像?
從Making Images Byte-by-Byte in Javascript
var src = 'data:image/bmp;base64,' + myBase64EncodedData;
如果我create a dynamic bitmap上通過javascript的客戶方,如何通過POST提交此或GET(然後從位圖解析出在服務器端的價值觀?的NodeJS,PHP等)如何通過POST提交Javascript生成的位圖圖像?
從Making Images Byte-by-Byte in Javascript
var src = 'data:image/bmp;base64,' + myBase64EncodedData;
您可以使用後這樣的..
HTML
<img src="whatever.jpg" id="myimage" />
<div id="button" data-role="button">Click on button</div>
JS
$(function() {
$("#button").click(function() {
postImageData();
});
});
function postImageData(){
var img = document.getElementById('myimage')
var myBase64EncodedData = getBase64Image(img);
$.ajax({
type: 'POST',
url: 'http://same_domain_url.com/',
data: {
'imagedata': myBase64EncodedData
},
success: function(msg){
console.log('posted' + msg);
}
});
}
PHP
$imagedata=$_POST['imagedata'];
對於getBase64Image功能是指這太問題 Get image data in JavaScript?
感謝您提及這個問題! – qodeninja
只要上傳底座64點的數據。用你喜歡的方式在服務器端解析它。
HTML:
<form id="uploadImage" method="POST">
<input type="hidden" name="imageData64" id="imageData64"/>
<input type="submit" value="upload"/>
<form>
JS:
document.getElementById('uploadImage').onsubmit = function() {
document.getElementById('imageData64').value = myBase64EncodedData;
};
或者你可以做一個Ajax請求相同。
你可能不希望使用GET雖然。部分原因是因爲它不合適,您不會從服務器中檢索任何內容。但更多的是因爲GET對URL長度有一些限制,所以你的圖像數據可能不適合。 POST沒有這樣的限制,因爲請求可以有一個body,與GET不同。
爲什麼不使用AJAX張貼值服務器,並從'request.params [「形象」]'在你使用任何語言進行服務器端獲取? –