Estoy tratando de usar Javascript
para cargar un png
en imgur. He usado el código directamente desde Imgur API example, pero no creo que esté pasando correctamente el archivo png, ya que recibo un mensaje de error que dice file.type is undefined
. Creo que el archivo está bien, ya que he intentado esto con algunas png diferentes. Mi código es el siguiente:Cargando un png a imgur usando javascript
<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>
El archivo test.png
png
se almacena en el mismo directorio que mi archivo html.
Gracias por las sugerencias. Para agregar una imagen al lienzo, ¿esa es la imagen 'id'? Supongo que no puedo referirme a él usando el nombre del archivo, basado en el comentario de @ skimberk1. – djq
No hay forma de referirse a la imagen usando el nombre del archivo. Tendrá que cargarlo en un elemento img y luego cargar su contenido en un lienzo utilizando DrawImage. Es importante hacer esta última parte en el controlador de carga de img. De lo contrario, no funcionará. –
Gracias bebraw, eso me ayuda a entender el flujo. Estoy experimentando con http://html2canvas.hertzen.com/ en este momento; parece que hará parte de estos pasos. – djq