2011-06-24 22 views
7

Estoy trabajando en una extensión de Chrome: cuando arrastra una imagen, se guardará en su computadora.
Me enteré de que en HTML5 hay API de FileWriter, pero realmente no puedo encontrar ningún ejemplo de ella, ¿Chrome lo admite?¿Cómo guardar una imagen con JavaScript?

Respuesta

3

No, no es una API FileWriter en HTML5. Lo que probablemente quiera decir es File API que le permite leer archivos. Y en Chrome, incluso las extensiones no pueden escribir archivos, por razones de seguridad. Por lo tanto, a menos que desee agrupar un complemento NPAPI con su extensión (lo que provocaría una gran advertencia al momento de la instalación), todo lo que puede hacer es activar un mensaje de descarga que el usuario puede aceptar o no. Consulte Cross-browser Save As .txt para obtener un posible enfoque (los objetos Flash como Downloadify son el otro).

Editar: Estaba equivocado, hay una propuesta de FileWriter API. Sin embargo, está muy lejos de ser hecho.

2
+0

veo, hay al parecer una propuesta para permitir el acceso de lectura/escritura a las partes del disco en contra del usuario a lo que dije en mi respuesta. Sin embargo, esta propuesta está en sus primeras etapas y es posible que nunca la implemente ningún navegador (las cuestiones de seguridad parecen no estar resueltas). –

+0

@Wladimir El artículo dice que Chrome y mi navegador (Chrome) parecen ser compatibles con todas las funciones utilizadas en este artículo. Subiré la captura de pantalla. –

1

No creo que la API de FileWriter estará lista y disponible por algún tiempo.

Puede obtener los datos de la imagen en hexadecimal, luego utilice un DataURI para 'exportarlo' desde el navegador. Aunque esto lleva a un archivo guardado con un nombre de archivo como "descargar (1)". Cada navegador parece tener diferentes limitaciones de tamaño para DataURI, y no son grandes, aunque podría estar bien para una imagen de un tamaño razonable.

http://en.wikipedia.org/wiki/Data_URI_scheme

Como alternativa se puede utilizar un Downloadify desviar con un nombre de archivo adecuado (Requiere Flash y puede ser difícil de integrar en la extensión de Chrome).

http://davidwalsh.name/downloadify

Cuestiones relacionadas