title: createReadStream not working/extremely slow for large files
body: <p>Im using DropBox API to upload files. To upload the files to dropbox I am going through the following steps:</p>
  
  <ol>
  <li>First upload file from <code>form</code> to a local directory on the server.</li>
  <li>Read File from local directory using <code>fs.createReadStream</code></li>
  <li>Send file to Dropbox via the dropbox API.</li>
  </ol>
  
  <p><strong>The issue:</strong></p>
  
  <p>For some reason <code>fs.createReadStream</code> takes absolute ages when reading and uploading a large file. Now the file I'm trying to upload is only <strong>12MB</strong> which is not a big file and <strong>it takes approximately 18mins to upload/process a 12MB file</strong>. </p>
  
  <p><strong>I don't know where the issue is either it's in <code>createReadStream</code> or dropbox api code.</strong></p>
  
  <p>It works with files of size within <code>kb</code>.</p>
  
  <p><strong>My Code:</strong></p>
  
  <pre><code>let options = {
      method: 'POST',
      uri: 'https://content.dropboxapi.com/2/files/upload',
      headers: {
          'Authorization': 'Bearer TOKEN HERE',
          'Dropbox-API-Arg': "{\"path\": \"/test/" + req.file.originalname + "\",\"mode\": \"overwrite\",\"autorename\": true,\"mute\": false}",
          'Content-Type': 'application/octet-stream'
      }, 
  
        // I think the issue is here.
        body: fs.createReadStream(`uploads/${req.file.originalname}`)
  };
  
   rp(options)
      .then(() =&gt; {
          return _deleteLocalFile(req.file.originalname)
      })
      .then(() =&gt; {
          return _generateShareableLink(req.file.originalname)
      })
      .then((shareableLink) =&gt; {
          sendJsonResponse(res, 200, shareableLink)
      })
      .catch(function (err) {
          sendJsonResponse(res, 500, err)
      });
  </code></pre>
  
  <p><strong>Update:</strong></p>
  
  <pre><code>const rp = require('request-promise-native');
  </code></pre>