HANA XS ServerのUI5アプリケーションでファイルアップロードを実装しようとしています。 私はそれをする方法を多くの情報を見つけることができません - 誰かがアイデアを持っていますか?SAP HANA XS UI5を使用したファイルアップロード
5
A
答えて
6
ここでは、プレーンテキストファイルアップロードの簡単な実装です:
クライアントサイドのJS:
doUpload: function() {
var uploadField = document.getElementById("ulUploader1-fu");
var file = uploadField.files[0];
var reader = new FileReader();
reader.onload = function (event) {
var source = event.target.result; // this is the binary values
var name = file.name;
$.ajax({
url: "/services/upload.xsjs?cmd=Import",
type: "PUT",
processData: false,
contentType: file.type,
data: source,
xhr: function() {
var req = $.ajaxSettings.xhr();
if (req) {
if (req.overrideMimeType) {
req.overrideMimeType('text/plain; charset=x-user-defined');
}
if (req.sendAsBinary) {
req.send = req.sendAsBinary;
}
}
return req;
},
error: function(xhr, textStatus, errorThrown){
alert(xhr.responseText);
},
success: function() {
reader.onload = null;
}
});
};
reader.readAsText(file);
}
そしてここでは、サーバーサイドxsjsサービスです:
function doImport() {
var data = '', conn = $.db.getConnection(), pstmt;
if($.request.body){
data = $.request.body.asString();
}
var conn = $.db.getConnection();
var pstmt = conn.prepareStatement('INSERT INTO "TEST"."UPLOAD" (ID, MIMETYPE, DATA) VALUES(?,?,?)');
pstmt.setInteger(1,1);
pstmt.setString(2,"text/plain");
pstmt.setString(3,data);
pstmt.execute();
pstmt.close();
conn.commit();
conn.close();
doResponse(200,'');
$.response.contentType = 'text/plain';
$.response.setBody('Upload ok');
$.response.status = 200;
}
+0
jsonオブジェクトの配列を送信したいのですが?ハナでどのようにアクセスできますか?私がajax投稿を使用してデータを送信すると、私はハナのデータを見ることができません。例: 'type:" PUT "、 processData:false、 contentType:file.type、 data:objectArray'、何か提案がありますか? – user557657
0
XSの「ready-to-consume」サービスはありません。もちろん、HANA DBにテーブルを作成し、列タイプのBLOBを作成し、フロントエンドからファイルをアップロードできるXSでサービスを構築することができます。私はそれが助けて欲しい
関連する問題
HTTPSをお試しください:// uploadcare。 com /、私はユーザーのアップロードを処理するためにそれを使用しており、私はこれを自分で処理する必要はありません本当に幸せ。 – Fedor