Using the unified FileUploader I am having some issue with receiving the file uploaded,
my Scenario is SAPUI5 XML Views, SAP HANA SP07
I have seen the oDATA save by Peter Marcely but that has not helped me since its GW
My Codes are pasted below
XML VIEW
/// truncated <VBoxwidth="70%">
<u:FileUploader
id="FileLoader"
width="100%"
tooltip="Upload picture of contact"
uploadComplete="handleUploadComplete"
change="handleValueChange"
typeMissmatch="handleTypeMissmatch"
style="Emphasized"
fileType="jpeg,jpg,png"
placeholder="Choose a file for Upload..."> </u:FileUploader>
<Button
text="Upload File"
press="handleUploadPress"/>
</VBox>
Controller.JS
handleUploadPress :function(oEvent)
{
var uploadField =document.getElementById("UpdateContact--FileLoader-fu");
var file = uploadField.files[0];
var reader =new FileReader();
reader.onload=(function(theFile){
returnfunction(e){
var uploadUrl ="services/PictureFileUpload.xsjs?file_name="+name;
$.ajax({
url: uploadUrl,
type:"GET",
beforeSend:function(xhr){
xhr.setRequestHeader('X-CSRF-Token',
$('meta[name="csrf-token"]').attr('content'))
},
success:function(data, textStatus, XMLHttpRequest){
reader.onload=null;
var token = XMLHttpRequest.getResponseHeader('X-CSRF-Token');
$.ajax({
url: uploadUrl,
type:"POST",
processData :false,
contentType:false,
data: file,
beforeSend:function(xhr)
{
xhr.setRequestHeader("X-CSRF-Token", token);
},
success:function(data, textStatus, XMLHttpRequest)
{
var resptext = XMLHttpRequest.responseText;
jQuery.sap.require("sap.ui.commons.MessageBox");
sap.ui.commons.MessageBox.show(resptext, sap.ui.commons.MessageBox.Icon.INFORMATION,"Information");
if(data =="Upload successful"){
sap.ui.getCore().byId("FileUploader").getController().entryCount(data); }
oModel =new sap.ui.model.json.JSONModel("services/MY_FILE_UPLOAD_TABLE.xsodata/FILE_UPLOAD_TABLE?$format=json",true);
},
error:function(data, textStatus, XMLHttpRequest) {
sap.ui.commons.MessageBox.show("File could not be uploaded.", sap.ui.commons.MessageBox.Icon.ERROR,"Error");
}
});
},
error:function(data, textStatus, XMLHttpRequest) {
sap.m.MessageToast.show("Error Uploading file: "+data);
}}); } })(file);
reader.readAsDataURL(file); ///////////////////////////////////////////// },
PictureFileUpload.XSJS
var ID =13;var IMAGE_NAME ="image Name"; try { var data ='', conn = $.db.getConnection(), pstmt; if($.request.entities.length>0){ data = $.request.body.asArrayBuffer(); var select_all_sales_orders_query ="UPDATE \"USER\".\"IMAGETABL\" SET IMAGE_CONTENT = ? "+
" where ID='"+ID+"'"; var pstmt = conn.prepareStatement( select_all_sales_orders_query); pstmt.setBlob(1,data); pstmt.execute();
$.response.contentType='text/plain';
$.response.setBody('Upload ok');
$.response.status=200;}
else{
$.response.setBody("No Entries");
}
pstmt.close(); conn.commit();
conn.close(); } catch(err) { if(pstmt !==null) { pstmt.close(); } if(conn !==null) { conn.close(); } $.response.setBody(err.message); }