Search code examples
javascripthtmlform-data

How do i get the content from a formData?


I have created a file into the formData like this:

    var fd = new FormData();
    fd.append('file', file);    

how do i get the content out of the formData? like the filename and the file? something like this?: fd.filename(), fd.getData(). or fd.get('file') to retrieve the file back?


Solution

  • There is no way to retrieve the files after you've appended them in to a formData-object I believe.

    You'll have to send the formData-object somewhere and then get the files from a req-object or something like that.

    In my case (angularJS + nodeJS) I tested this from an answer on SO (link below):

    Angular:

    var fd = new FormData();
    fd.append('file', file);
    $http({
      method:"POST",
      url:"uploadFile",
      data: fd,
      withCredentials: true,
      headers: {'Content-Type': undefined },
      transformRequest: angular.identity
    });
    

    Node (expressJS):

    app.post('/uploadFile', function(req,res){
      fs.readFile(req.files.file.path, function(err, data){
        // Do something with the data (which holds the file information)
      });
    });
    

    To see what you can do with the file, read this: http://nodejs.org/api/fs.html

    The code is taken from : AngularJS: how to implement a simple file upload with multipart form?