1

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!

1
  • To upload string data to server i used REST API ---- var userData ={//String parameters}; var data = JSON.stringify(userData); var header1 = {"X-Parse-Application-Id":"appId", "X-Parse-REST-API-Key":"restapiId"}; $.ajax({type: "POST",url: "api.parse.com/1/classes/classname",headers: header1,dataType: "json",contentType: "application/json",data: data,success: function(data){alert("Record submitted: ");},error: function(e) {console.log(e);}}); Commented Jul 15, 2015 at 4:47

1 Answer 1

1

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);
    }
  });
});
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.