manejo llamar leer insertar ejemplos desde cómo contenido codigo archivos archivo javascript html file-upload preset

javascript - llamar - ¿Cómo establecer un valor en una entrada de archivo en HTML?



llamar javascript desde html (7)

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 passwords.txt), puede cargarla como un tipo de blob y luego tratarla como un archivo.

Lo que el servidor terminará viendo no se podrá distinguir de alguien que realmente establezca el valor de <input type="file" /> . El truco, en última instancia, es comenzar un nuevo XMLHttpRequest () con el servidor ...

function uploadFile (data) { // define data and connections var blob = new Blob([JSON.stringify(data)]); var url = URL.createObjectURL(blob); var xhr = new XMLHttpRequest(); xhr.open(''POST'', ''myForm.php'', true); // define new form var formData = new FormData(); formData.append(''someUploadIdentifier'', blob, ''someFileName.json''); // action after uploading happens xhr.onload = function(e) { console.log("File uploading completed!"); }; // do the uploading console.log("File uploading started!"); xhr.send(formData); } // This data/text below is local to the JS script, so we are allowed to send it! uploadFile({''hello!'':''how are you?''});

Nota:

Las respuestas y comentarios a continuación reflejan el estado de los navegadores heredados en 2009. Ahora puede configurar el valor del elemento de entrada de archivo dinámicamente / programáticamente usando JavaScript y un objeto DataTransfer o FileList en 2017.

Vea la respuesta en esta pregunta para obtener detalles, así como una demostración:
¿Cómo establecer el valor de entrada del archivo programáticamente (es decir, cuando se arrastran y sueltan archivos)?

¿Cómo puedo establecer el valor de esto?

<input type="file" />


Definir en html:

<input type="hidden" name="image" id="image"/>

En JS:

ajax.jsonRpc("/consulta/dni", ''call'', {''document_number'': document_number}) .then(function (data) { if (data.error){ ...; } else { $(''#image'').val(data.image); } })

Después:

<input type="hidden" name="image" id="image" value="/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8U..."/> <button type="submit">Submit</button>


En realidad podemos hacerlo. podemos establecer el valor predeterminado del archivo utilizando el control del navegador web en c # utilizando la biblioteca FormToMultipartPostData. Tenemos que descargar e incluir esta biblioteca en nuestro proyecto. El navegador web permite al usuario navegar por las páginas web dentro del formulario. Una vez que la página web se haya cargado, se ejecutará el script dentro de webBrowser1_DocumentCompleted. Asi que,

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { FormToMultipartPostData postData = new FormToMultipartPostData(webBrowser1, form); postData.SetFile("fileField", @"C:/windows/win.ini"); postData.Submit(); }

Consulte el siguiente enlace para descargar y referencia completa.

https://www.codeproject.com/Articles/28917/Setting-a-file-to-upload-inside-the-WebBrowser-com


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:

  • muestre el valor actual de este campo simplemente imprimiendo el nombre de archivo o la URL, un enlace para descargarlo, o si es una imagen: simplemente muéstrela, posiblemente como miniatura
  • la etiqueta <input> para subir un nuevo archivo
  • una casilla de verificación que, cuando está marcada, elimina el archivo cargado actualmente. tenga en cuenta que no hay forma de cargar un archivo ''vacío'', por lo que necesita algo como esto para borrar el valor del campo

No puedes por razones de seguridad.

Imagina:

<form name="foo" method="post" enctype="multipart/form-data"> <input type="file" value="c:/passwords.txt"> </form> <script>document.foo.submit();</script>

No quieres que los sitios web que visitas puedan hacer esto, ¿verdad? =)


Usted no puede Y es una medida de seguridad. ¿Imagina si alguien escribe un JS que establece el valor de entrada del archivo en algún archivo de datos confidenciales?


Usted no puede

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 carga automáticamente un archivo específico desde la computadora del cliente.