1-得到base64編碼圖像URI
String imageData= canvas2.toDataUrl();
2-通過RPC調用向發送的圖像數據服務器端
jdbc.saveImage(imageData,callback);
3-做一個HTTP POST請求到Web服務器API
URL url = new URL("http://myserver.com/my_images_folder/save_image.php");
URLConnection conn = url.openConnection();
conn.setReadTimeout(15000); //set a large time out since we're saving images
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the response which contains the image file name
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
resa+=line;
}
wr.close();
System.out.println("close1");
rd.close();
System.out.println("Received: "+line);
4-將圖像保存到文件服務器並返回圖像文件名稱
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){
$imageData=$GLOBALS['HTTP_RAW_POST_DATA'];
//using a timestamp to create unique file names
//you can pass file name in params if you like instead
$fileName='User_Images_'.time().'.png';
// Remove the headers (data:,) part.
$filteredData=substr($imageData, strpos($imageData, ",")+1);
// Need to decode base64 encoded image
$unencodedData=base64_decode($filteredData);
$fp = fopen($fileName, 'wb');
fwrite($fp, $unencodedData);
fclose($fp);
$fileName2='http://myserver.com/my_images_folder/'.$fileName;
//return the file name
echo($fileName);
}else{
echo('no data posted');
}
現在,我對文件有一個很難的永久鏈接,我可以將它嵌入到電子郵件中,並用它來做其他事情。請參閱下面的參考3內嵌嵌入(這需要一個文件或URL,現在我們也很難URL到我們的Web服務器上的圖像,我們可以通過電子郵件發送出來)
你的意思是「Base64編碼圖像」,而不是'64位圖像'?實際上 –
是的......我想它了剛纔......要編輯/回答這個問題 –