我正在使用web標記工具從網站生成圖像,但是我想修改該功能,以便當我完成標記時,而不是將圖像下載到本地,我希望它被上傳到服務器。該函數在JavaScript文件中,並且與JS相關的所有上傳都與提交表單有關。沒有形式和超全局的,我怎麼上傳一個網頁生成的圖像到服務器?在require.js模塊中上傳web生成的圖像
這裏是我現在有的代碼,它不在html文件中,它在js文件中。
var file_data = annotator.export();
var formData = dataURItoBlob(file_data);
var fd = new FormData(document);
fd.append("resultImage",formData);
url="upload/";
http.open("POST", url, true);
// headers
http.setRequestHeader("Content-type", "application/x-www-form- urlencoded");
http.setRequestHeader("Content-length", fd.length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(fd);
php文件
<?php
$upload_dir = "upload/";
$img = $_POST['hidden_data'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = $upload_dir . mktime() . ".png";
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';
?>
非常感謝您的幫助,謝謝。
謝謝埃文斯,對不起,我沒有足夠的聲望來upvote呢。 –