プラグインを使用してSAPUI5アプリケーションからSAP Http Content Serverに画像をアップロードしようとしています。 これまでのところ、私がアップロードしたときに、それが成功コード(200)を返すと、以下のメッセージ:Cordova File Transferプラグインを使用してSAPコンテンツサーバにアップロードできません
Component img1 in Document 0000000018 updated
のプラグインは、画像のサイズと同じであるbytesent
と成功コードで応答を与えるので、私はでしたイメージがアップロードされていると仮定します。
しかし、get
機能を使用して画像を取得すると、何もありません。体は空だった。 Webブラウザを使用すると空のContentServer.dll
ファイルがダウンロードされ、Postmanを使用すると応答本体は空になります。 AFAIKは、そのような成功したケースでは、身体はイメージであり、郵便配達員の場合、レスポンスのボディにイメージのバイナリ形式が与えられます。
takePhoto: function() {
navigator.camera.getPicture(onCapturePhoto, onFail, {
quality: 100,
destinationType: destinationType.FILE_URI
});
}
が、それはonCapturePhoto
関数を呼び出します。私のコードの場合
、私は以下のように写真を撮るためにコルドバカメラ(私はメディアキャプチャが、同じ問題を試してみました)プラグインを使用しました
function onCapturePhoto(fileURI) {
var options = new FileUploadOptions();
options.fileKey = "file";
options.httpMethod = "PUT";
** This line below solved my first problem but still cannot solve the
original problem as my Update1 mentioned**
options.chunkedMode = false;
options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1);
options.mimeType = "image/jpeg";
options.params = {}; // if we need to send parameters to the server request
var win = function(r) {
console.log(r);
console.log(fileURI);
};
var fail = function(error) {
console.log(error);
alert('Ups. Something wrong happens!');
};
var ft = new FileTransfer();
var url = "http://serverIP:1090/ContentServer/ContentServer.dll?update&pVersion=0046&contRep=Z1&docId=0000000018&compId=img1";
ft.upload(fileURI, url, win, fail, options);
}
何とかデータがサーバーに転送されなかったと思います。そのため、本文は常に空です。しかし、私は構文が正しいことを確信しています、少なくともエラーを出さないように。したがって、私は完全に混乱しています。何か提案してください。
Update1:これまで私は問題を発見しました。それは、空の応答本体を与えるoptions.chunkedModeでした。今私は私の応答体を見ることができます。しかし、問題は私の体は画像としてレンダリングされていませんが、ContentServer.dll
です。私はアップロードコードがこれに責任があると思います。どういうわけか、データがアップロードされるときに正しい画像フォーマットを持っていない。なにか提案を?