Ich versuche, einen Datei-Upload in einer UI5-Anwendung auf einem HANA XS Server zu implementieren. Ich kann nicht viele Informationen finden, wie man das macht - hat jemand eine Idee?SAP HANA XS Datei-Upload mit UI5
Antwort
hier ist die einfache Implementierung eines einfachen Text-Datei-Upload:
Client-Seite 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);
}
Und hier ist der server xsjs Service:
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;
}
Was ist, wenn ich Array von Json-Objekt senden möchte? Wie kann ich auf HANA zugreifen? Wenn ich Daten mit Ajax-Post sende, kann ich keine Daten über Hana sehen. Zum Beispiel - 'type:" PUT ", processData: false, contentType: Datei.Typ, Daten: ObjektArray', Irgendwelche Vorschläge? – user557657
Es gibt keinen "ready-to-consume" -Service von XS, mit dem Sie das tun können. Sie können natürlich eine Tabelle in der HANA DB erstellen, ein spaltenartiges BLOB erstellen und dann einen Dienst auf XS aufbauen, mit dem Sie eine Datei von Ihrem Frontend hochladen können. Ich hoffe das hilft.
- 1. Verbinden Django mit SAP Hana
- 2. Problem von SAP HANA Vora an SAP HANA
- 3. SAP HANA VORA AMI
- 4. Sap UI5 Bearbeitungsobjekt Vorlage
- 5. Dynamische URLs in HANA XS
- 6. Sap UI5 XML-Ansicht (Fiori)
- 7. Wie Zeilendaten in SAP UI5
- 8. SAP UI5 - getBindingContext() undefined (splitapp)
- 9. SAP UI5 Aggregation mit Static Control Bindung
- 10. SAP UI5 - Erstellen Modell mit '0' Wert
- 11. Automatisierte UI-Tests für das SAP UI5
- 12. SAP ui5 ComboBox LIstItem zeigt keinen zusätzlichenText
- 13. SAP UI5 Anwendungsübergreifende Navigation ohne FLP
- 14. Unterstützung von SAP HANA und Hibernate
- 15. SAP UI5: Objekt erwarteter Fehler in IE
- 16. Filter Boolesche Wert in SAP UI5 Modell
- 17. Konfiguration Sap Hana und Python Probleme
- 18. sap hana Datenprovider für Microsoft ado.net
- 19. Anbindung von SAP HANA DB von Power
- 20. SAP HANA: Mindestwert von mehreren Spalten
- 21. benötigen in SAP Hana gespeicherte Prozedur
- 22. Kann ich SAP UI5 mockserver ohne Modell OData mit
- 23. Sap Hana xsodata InputParameter-Wert mit einfachem Anführungszeichen
- 24. Dynamische Update-Abfrage mit Parametern in SAP-HANA-Prozeduren
- 25. Wie Array in Xml-Modell in SAP UI5
- 26. SAP HANA Vora 1.2: Kann nicht als virtuelle Tabelle in HANA Studio geladen werden
- 27. SAP Hana Vora: Kann keine Vora-Tabelle erstellen
- 28. SAP HANA Vora sieht den Tabelleninhalt in Scala nicht
- 29. SAP Hana Vora: Unable erstellen Vora Tabelle auf Cloudera
- 30. SAP Vora 1.2 - Vora-Tabellen aus HANA lesen
https Versuchen: // uploadcare. com/verwende ich es, um Benutzer-Uploads zu behandeln und wirklich glücklich, dass ich nicht selbst damit umgehen muss. – Fedor