title: How can I retrieve the drag-drop data from chrome, like Windows Explorer does
body: <p>If I drag an image from Chrome (or Firefox) onto the Desktop, Windows Explorer (<em>not IE</em>) is able to save the file.</p>
  
  <p>However, if I attempt to get the Bitmap from the <code>System.Windows.Forms.IDataObject</code>, there is no Bitmap data available for Chrome (and only DIB from Firefox).</p>
  
  <p>So riddle me this, how is Explorer able to get the actual image from Chrome/Firefox, when it's not available in <code>IDataObject</code>? Does Microsoft have a undocumented feature the only Windows can use to extract the image data? <strong>I know how to get the image via the URI, or the FileDrop tempfile (see below). The question is "how to get the served file", like Explorer does.</strong></p>
  
  <p>Some things to note:</p>
  
  <ol>
  <li>The JPEG dropped onto the Desktop is identical (md5sum) to the one served, plus EXIF data is preserved, so it can't be converting the DIB (if present) to a JPEG.</li>
  <li>The Image is behind an authenticated session, so Explorer can't be fetching the file by the URL.</li>
  <li>Both browsers provide <code>DragImageBits</code>, but this isn't the original image (it's too small), plus it's only supposed to be used as an preview when dragging (Explorer does this).</li>
  <li>Firefox provides a <code>FileDrop</code> array which contains a tempfile, but this is a BMP, not a JPEG.</li>
  </ol>
  
  <p>I actually wrote a small app to display <code>IDataObject</code> data from Paste/DragDrop events in order to solve this, but to no avail.</p>
  
  <p>Source &amp; binary available on <a href="https://github.com/tipstrade/DragDropViewer/releases" rel="nofollow noreferrer">GitHub</a></p>