Reputation: 158
I want to Upload image with some other parameters on parse, but i didn't find any code to store image with other parameters.
I want to use JavaScript or REST API. Please suggest me right code or some right direction.
Currently i am using REST API to upload the parameters not file.
Thanks in advance!
Upvotes: 1
Views: 518
Reputation: 148
So, you can do as follows - currently it is with name parameter but you can pass multiple parameters with it. Hope this helps you -
var file;
// Set an event listener on the Choose File field.
$('#idoffiletag').bind("change", function(e) {
var files = e.target.files || e.dataTransfer.files;
// Our file var now holds the selected file
file = files[0];
});
// This function is called when the user clicks on Upload to Parse. It will create the REST API request to upload this image to Parse.
$('#idofbutton').click(function() {
var serverUrl = 'https://api.parse.com/1/files/classname' + file.name;
$.ajax({
type: "POST",
beforeSend: function(request) {
request.setRequestHeader("X-Parse-Application-Id", 'yourappkey');
request.setRequestHeader("X-Parse-REST-API-Key", 'yourrestapikey');
request.setRequestHeader("Content-Type", file.type);
},
url: serverUrl,
data: file,
processData: false,
contentType: false,
success: function(data) {
//Change variable to reflect your class to upload to
var classUrl = "https://api.parse.com/1/classes/classname";
if(data) {
var fileName = "" + data.name;
$.ajax({
type: "POST",
beforeSend: function(request) {
request.setRequestHeader("X-Parse-Application-Id", 'yourappkey');
request.setRequestHeader("X-Parse-REST-API-Key", 'yourrestapikey');
request.setRequestHeader("Content-Type", 'application/json');
},
url: classUrl,
data: '{"name" : "An Image", "image" : {"name" : '+"\""+fileName+"\""+', "__type" : "File"}}',
processData: false,
success: function(data) {
alert("data successfully uploaded.");
},
error: function(error) {
alert("Error: " + error.message);
}
});
} else {
//Data is null
console.log("Data IS NULL");
}
},
error: function(data) {
var obj = jQuery.parseJSON(data);
alert(obj.error);
}
});
});
Upvotes: 1