var oImagePreview = new sap.ui.commons.Image("img_preview");
CREATE COLUMN TABLE "RESOURCE_PLANNER"."IMAGE_STORE" ("USERID" NVARCHAR(8) NOT NULL,
"AVATAR" NCLOB,
/** Get Saved Image for entered User Id */
saveImage : function(imageData, fileType) {
// Get X-CSRF token
$.ajax({
url: "/sap/hana/xs/formLogin/token.xsjs",
type: "GET",
headers: {"X-CSRF-Token": "Fetch"},
async: false,
success: function(incomingdata, textStatus, jqXHR) {
xcsrfToken = jqXHR.getResponseHeader("X-CSRF-Token");
$.ajax({
url: "/ResourcePlanner/Services/SaveImage.xsjs?USERID=I066096",
type: "PUT",
processData: false,
contentType: fileType,
data: imageData,
beforeSend:function(XMLHttpRequest){
XMLHttpRequest.setRequestHeader("x-csrf-token", xcsrfToken);
},
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;
},
success: function(data, textStatus, XMLHttpRequest) {
console.log("Image Saved");
},
error: function(XMLHttpRequest, textStatus, errorThrown){
console.error("Image Save failed: "+XMLHttpRequest.responseText);
}
});
},
error: function(XMLHttpRequest, textStatus, errorThrown){
console.error("Error in fetching xcsrfToken");
}
});
var conn = $.db.getConnection();
var userId = $.request.parameters.get("USERID");
var data = $.request.body.asString();
var pstmt = conn.prepareStatement('INSERT INTO "RESOURCE_PLANNER"."IMAGE_STORE" (USERID, AVATAR) VALUES(?,?)');
pstmt.setString(1, userId); // Just hardcoding an id. This can very well be part of the ajax post body or url
pstmt.setString(2, data);
pstmt.execute();
pstmt.close();
conn.commit();
conn.close();
$.response.contentType = 'text/plain';
$.response.setBody('Image uploaded successfully');
RETRIEVE XSJS:
In the below example, I am just sending an USERID as url parameter . Refer the URL in the above GET ajax call.
var userImageData = '';
var userId = $.request.parameters.get("USERID");
var conn = $.db.getConnection();
var query = "SELECT * FROM \"RESOURCE_PLANNER\".\"IMAGE_STORE\" where USERID = '"+ userId + "'";
var pstmt = conn.prepareStatement(query);
var userImageResult = pstmt.executeQuery();
if (userImageResult.next()) {// User Image retrieved
userImageData = userImageResult.getString(2);
}
$.response.setBody(userImageData);
$.response.contentType = 'text/plain';
// Image control to render retrieved image
var oGetImageButton = new sap.ui.commons.Button({text : "Retrieve Image",
press : function() {
/** Get Saved Image for entered User Id */
$.ajax({
url: "/ResourcePlanner/Services/RetrieveImage.xsjs?USERID=I066096",
type: "GET",
async: false,
success: function(data, textStatus, XMLHttpRequest) {
document.getElementById("img_db").src = img;
},
error: function(XMLHttpRequest, textStatus, errorThrown){
console.error("Error in retrieving image");
}
});
}
});
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
12 | |
10 | |
10 | |
9 | |
8 | |
6 | |
6 | |
6 | |
5 | |
5 |