Cargando un png para imgur usando javascript

Estoy tratando de usarJavascript para subir unpng a imgur. He usado el código directamente desde la API de Imgurejempl, pero no creo que esté pasando el archivo png correctamente ya que recibo un mensaje de error que dicefile.type is undefined. Creo que el archivo está bien, ya que lo he intentado con algunos pngs diferentes. Mi código es el siguiente:

<html>
<head>
<script type="text/javascript">
function upload(file) {
   // file is from a <input> tag or from Drag'n Drop
   // Is the file an image?
   if (!file || !file.type.match(/image.*/)) return;

   // It is!
   // Let's build a FormData object
   var fd = new FormData();
   fd.append("image", file); // Append the file
   fd.append("key", "mykey"); // Get your own key: http://api.imgur.com/

   // Create the XHR (Cross-Domain XHR FTW!!!)
   var xhr = new XMLHttpRequest();
   xhr.open("POST", "http://api.imgur.com/2/upload.json"); // Boooom!
   xhr.onload = function() {
      // Big win!
      // The URL of the image is:
      JSON.parse(xhr.responseText).upload.links.imgur_page;
   }

   // Ok, I don't handle the errors. An exercice for the reader.
   // And now, we send the formdata
   xhr.send(fd);
}
</script>
</head>   

<body>

<button type="button" onclick="upload('test.png')">upload to imgur</button> 

</body>
</html> 

Lospng archivotest.png se almacena en el mismo directorio que mi archivo html.

Respuestas a la pregunta(4)

Su respuesta a la pregunta