Próbuję zaimplementować przesyłanie plików w aplikacji UI5 na serwerze HANA XS. Nie mogę znaleźć wielu informacji, jak to zrobić - ktoś wpadł na pomysł?SAP HANA XS Przesyłanie plików za pomocą UI5
Odpowiedz
oto prosta implementacja zwykłego pliku tekstowego przesłaniu:
boczne Client 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);
}
A oto ServerSide xsjs usługa:
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;
}
Co jeśli chcę wysłać tablicę obiektów Json? Jak mogę uzyskać do nich dostęp na HANA? Kiedy wysyłam dane za pomocą posta ajaxowego, nie widzę żadnych danych na temat hany. Na przykład - "type:" PUT ", processData: false, contentType: file.type, data: objectArray', Jakieś sugestie? – user557657
Nie ma usługi "gotowości do spożycia" od XS, która pozwala to zrobić. Możesz oczywiście utworzyć tabelę w HANA DB, utworzyć BLOB typu kolumny, a następnie zbudować usługę na XS, która pozwoli ci przesłać plik z twojego serwera. Mam nadzieję że to pomogło.
- 1. SAP UI5 - getBindingContext() undefined (splitapp)
- 2. Przesyłanie plików za pomocą extjs4
- 3. Przesyłanie plików za pomocą Sinatry
- 4. Przesyłanie plików za pomocą RichFaces
- 5. Przesyłanie plików za pomocą ajax i Symfony2
- 6. Zdalne przesyłanie plików serwera za pomocą PHP
- 7. Efektywne przesyłanie dużych plików za pomocą Yesod
- 8. Przesyłanie wielu plików za pomocą jQuery
- 9. Przesyłanie plików za pomocą protokołu SFTP
- 10. Przesyłanie plików SFTP za pomocą Java JSch
- 11. Przesyłanie plików za pomocą narzędzia Backbone
- 12. Przesyłanie wielu plików za pomocą cURL
- 13. Przesyłanie strumieniowe plików multimedialnych za pomocą WebRTC
- 14. Przesyłanie plików za pomocą Zend Framework 1.7.4
- 15. Przesyłanie plików za pomocą parametru parseRequest ServletFileUpload?
- 16. przesyłanie plików za pomocą javascript za pośrednictwem stron internetowych
- 17. Ignoruj kolejność elementów za pomocą xs: rozszerzenie
- 18. Przesyłanie wielu plików za formData()
- 19. Przesyłanie wielu plików do różnych adresów URL za pomocą przesyłania plików za pomocą narzędzia ng2
- 20. Przesyłanie asynchronicznych plików (przesyłanie plików AJAX) za pomocą jsp i javascript
- 21. Napisz do Hana SAP z RJDBC użyciu dbWritetable bardzo powolny z powodu rekordu przez rekordu wstawić
- 22. Przesyłanie plików za pomocą flow.js + ng-flow do WebAPI 2
- 23. Przesyłanie plików za pomocą TCP w systemie Linux
- 24. Jak obsługiwać przesyłanie plików systemu Windows za pomocą Selenium WebDriver?
- 25. Przesyłanie plików do bazy danych za pomocą ASP.NET MVC
- 26. Jak obsłużyć przesyłanie plików za pomocą programu Angular2 Formbuilder?
- 27. Jak przetestować przesyłanie wielu plików za pomocą Cucumber/Capybara?
- 28. Przesyłanie plików za pomocą szyn Activeadmin przy użyciu spinacza biurowego
- 29. Powolne przesyłanie plików za pomocą architektury Multipeer Connectivity
- 30. Przesyłanie wielu plików i metadanych za pomocą CXF
Spróbuj https: // uploadcare. com /, używam go do obsługi wysyłania plików przez użytkowników i naprawdę cieszę się, że sam nie muszę sobie z tym radzić. – Fedor