Sto tentando di implementare un caricamento file in un'applicazione UI5 su un server HANA XS. Non riesco a trovare molte informazioni su come farlo - qualcuno ha avuto un'idea?Caricamento file SAP HANA XS con UI5
risposta
ecco la semplice implementazione di un caricamento di file di testo:
js lato client:
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);
}
Ed ecco il servizio del serverside 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;
}
Cosa succede se voglio inviare array di oggetti json? Come posso accedervi su HANA? Quando invio dati usando un post su jax non riesco a vedere alcun dato su hana. Ad esempio - 'type:" PUT ", processData: false, contentType: file.type, data: objectArray', Qualche suggerimento? – user557657
Non esiste un servizio "pronto per il consumo" da XS che consente di farlo. Ovviamente puoi creare una tabella in HANA DB, creare un BLOB di tipo colonna e quindi creare un servizio su XS che ti permetta di caricare file dal tuo front-end. Spero che aiuti.
- 1. UI5 SAP - getBindingContext() undefined (splitapp)
- 2. URL dinamici in HANA XS
- 3. Test UI automatizzati per SAP UI5
- 4. Metadati del componente UI5
- 5. SAP può lavorare con Python?
- 6. Caricamento file con trascinamento
- 7. Caricamento file con okhttp
- 8. Caricamento file con Sinatra
- 9. Caricamento file con Backbone
- 10. Caricamento file con Tornado
- 11. Pazza idea: Connetti .NET e SAP con SAP JCo utilizzando IKVM.NET
- 12. Microsoft e SAP
- 13. SAP JCo: JCoDestination vs. JCoClient
- 14. Test unitario e SAP
- 15. Creazione di callback con thread in XS
- 16. Errore caricamento file con QNetworkAccessManager
- 17. Caricamento file con alamofire Router
- 18. Caricamento di file con ClassLoader
- 19. Caricamento di file con SFTP
- 20. Caricamento file con dati Ember
- 21. Caricamento file multipli con jQuery
- 22. Caricamento file HTML5 con AngularJS
- 23. Caricamento file goniometro con Saucelabs
- 24. JSON :: XS "Uso" gracchiare
- 25. Come restituire il numero di righe interessate in una procedura memorizzata HANA?
- 26. Nome standard per (filtro p xs, filtro (not.p) xs)
- 27. Caricamento file angolare
- 28. Caricamento file con Activeadmin Rails con paperclip
- 29. XML xs: int valore esadecimale
- 30. Comunicazione tra SAP e C#
Prova https: // uploadcare. it /, lo sto usando per gestire i caricamenti degli utenti e sono davvero felice di non doverlo gestire da solo. – Fedor