¿Cómo puedo establecer el valor de esto?
<input type="file" />
javascript
html
file-upload
preset
Alon Gubkin
fuente
fuente
Respuestas:
No puede, por razones de seguridad.
Imagina:
No quieres que los sitios web que visitas puedan hacer esto, ¿verdad? =)
fuente
No puedes
La única forma de establecer el valor de una entrada de archivo es que el usuario seleccione un archivo.
Esto se hace por razones de seguridad. De lo contrario, podría crear un JavaScript que cargue automáticamente un archivo específico desde la computadora del cliente.
fuente
No es una respuesta a su pregunta (que otros han respondido), pero si desea tener alguna funcionalidad de edición de un campo de archivo cargado, lo que probablemente quiera hacer es:
<input>
etiqueta para cargar un nuevo archivofuente
<input type="file" />
la imagen del producto existente? Puedo mostrar la imagen existente en una<img />
etiqueta, pero cuando envío no se pasa el archivo.No puedes Y es una medida de seguridad. ¿Imagínese si alguien escribe un JS que establece el valor de entrada del archivo en algún archivo de datos confidenciales?
fuente
Como todos los demás aquí han declarado: No puede cargar un archivo automáticamente con JavaScript.
¡SIN EMBARGO! Si tiene acceso a la información que desea enviar en su código (es decir, no contraseñas.txt), puede cargarla como un tipo de blob y luego tratarla como un archivo.
Lo que el servidor terminará viendo será indistinguible de alguien que realmente establezca el valor de
<input type="file" />
. El truco, en última instancia, es comenzar un nuevo XMLHttpRequest () con el servidor ...Entonces, ¿para qué podrías usar esto? Lo uso para cargar elementos de lienzo HTML5 como jpg. Esto le ahorra al usuario la molestia de tener que abrir un
file
input
elemento, solo para seleccionar la imagen local en caché que acaba de cambiar de tamaño, modificar, etc. Pero debería funcionar para cualquier tipo de archivo.fuente
1) El problema del valor predeterminado en una entrada de archivo NO SE "hace por razones de seguridad", sino que los navegadores "simplemente no lo implementaron, sin ninguna buena razón": vea este informe detallado
2) Una solución simple puede ser usar una entrada de texto sobre la entrada del archivo, como aquí . Por supuesto, necesita algún código para enviar el archivo, utilizando ahora el valor en la entrada de texto y no la entrada del archivo.
En mi caso, hacer la aplicación HTA, eso no es un problema, no uso el formulario en absoluto.
fuente
Definir en html:
En JS:
Después:
fuente
En realidad podemos hacerlo. podemos establecer el valor predeterminado del archivo utilizando el control de navegador web en c # usando la biblioteca FormToMultipartPostData. Tenemos que descargar e incluir esta biblioteca en nuestro proyecto. Webbrowser permite al usuario navegar por páginas web dentro del formulario. Una vez cargada la página web, se ejecutará el script dentro del webBrowser1_DocumentCompleted. Entonces,
Consulte el siguiente enlace para descargar y referencia completa.
https://www.codeproject.com/Articles/28917/Setting-a-file-to-upload-inside-the-WebBrowser-com
fuente