データベースとしてGoogleクラウドSQLを使用しています....UrlFetchを介して画像コンテンツをフェッチし、FetchResponseをblobに変換しています....しかし、データベースからblobデータを取得しようとしていて、それを画像としてアップロードしようとすると、そうではありません働く....
Code :
var base = 'https://www.google.com/m8/feeds/';
var fetchArgs = googleOAuth_('contacts', base);
fetchArgs.method='GET'
var photoURL==// url for image
var image=UrlFetchApp.fetch(photoURL,fetchArgs)
var imageBlob=image.getBlob()
imageBlob は、データベース内の PHOTO フィールドのタイプが LONGBLOB であるデータベースに格納されます
今、私は写真を取得しようとしています
var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://"+instance_name+"/"+database_name);
var stmt=conn.createStatement()
var query="select PHOTO from user_info"
var rs=stmt.executeQuery(query)
rs.next()
var image=rs.getBlob(1)
このブロブを次のようにhtmlファイルに使用します。
<html>
<body>
<center>
<p>This is image</p>
<img src="data:image/jpeg;base64,"+Base64.encode(image) width="100" height="100"/ >
<p> This is image</p>
</center>
</body>
</html>
画像が表示されず、画像領域が表示されません....何か間違っている場合はお知らせください..
実際のコード: Web スクリプト:
function doGet() {
return HtmlService.createTemplateFromFile("image").evaluate();
}
function myFunction(){
var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://"+instance_name+"/"+database_name);
var stmt=conn.createStatement()
var query="select PHOTO from user_info"
var rs=stmt.executeQuery(query)
rs.next()
var image=rs.getBlob(1)
stmt.close()
conn.close()
return image
}
image.html
<html>
<body>
<center>
<p>This is image</p>
<img src="data:image/jpeg;base64,"+Base64.encode(<?= myFunction()?>) width="100" height="100"/ >
<p> This is image</p>
</center>
</body>
</html>