Directiva: esto ayuda a enlazar el archivo seleccionado y prepararlo para que lo manejen los controladores

module.directive (“fileread”, [function () {
regreso {
alcance: {
fileread: “=”
},
enlace: función (alcance, elemento, atributos) {
element.bind (“change”, function (changeEvent) {
alcance. $ apply (function () {
scope.fileread = changeEvent.target.files [0];
});
});
}
}
}]);

Controlador (/ servicio):

$ scope.uploadFile = function (archivo) {
var fd = new FormData ();
fd.append (‘archivo’, archivo);
var responsePromise = $ http ({url: “URL del lado del servidor para cargar datos”,
método: “POST”,
encabezados: {‘Content-Type’: undefined},
transformRequest: angular.identity,
datos: fd
});

Como no conoce el tipo de archivo y la extensión, entonces -> [‘Tipo de contenido’: indefinido].

Y [transformRequest: angular.identity] enviará cualquier tipo de datos al backend.

Si tiene alguna pregunta, no dude en preguntar.

CODIFICACIÓN FELIZ: p

El proceso de carga de un archivo se puede dividir en la parte frontal y la parte del servidor.

Parte frontal: (Aquí puede usar angularjs o cualquier biblioteca de JavaScript o JavaScript puro junto con el formulario HTML)

Primero, el archivo a cargar se selecciona a través del formulario HTML utilizando el y este formulario se envía al código del lado del servidor como datos multiparte / formulario, que ya se menciona en una de las respuestas.

Si está enviando el formulario completo, entonces ni siquiera necesita JavaScript. Pero desde ahora tenemos SPA (arquitectura de página única) que utiliza la llamada de servicio Ajax para una mejor experiencia del usuario, por lo que para realizar llamadas de servicio ajax al código del lado del servidor (que en realidad carga las secuencias de archivos recibidas del formulario HTML al servidor). En el caso de angularjs, puede usar el servicio http e incluso para angular 2 y angular 4 tiene el servicio http.

Parte del servidor: El código del lado del servidor es donde recibirá los datos del formulario y finalmente guardará estos datos en un archivo similar en el servidor. Recuerde que el formulario HTML debe enviarse a través del método de publicación para cargar archivos. Este código del lado del servidor se puede escribir en cualquier lenguaje como Java (JSP / Servlet), PHP, Coldfusion, .Net, etc.

Para ver un ejemplo del uso de Angular 2/4 con el servicio http utilizando el método POST y PHP como código del lado del servidor, puede consultar mi siguiente video tutorial:

Espero que esto responda a su pregunta.

Subir archivo es una de las características de los formularios html. Debe mencionar el valor del atributo de cifrado de formulario en ” multipart/form-data" para cargar el archivo. Consulte estos enlaces para obtener más información.

En AngularJS, puede usar cualquiera de las directivas como danialfarid / ng-file-upload para lograr la carga de archivos. Espero que esto ayude.

Aquí está el tutorial que hemos publicado en Dunebook – Tutoriales para laravel, php, Angularjs y javascripts respecto. Cargador de archivos de arrastrar y soltar html5 y angularjs Cree la aplicación de arrastrar y soltar html5 usando Angularjs .. Espero que esto ayude

He escrito un par de artículos que explican cómo cargar archivos en AngularJS. El primero usa $ http post y formdata y el segundo usa XMLHttpRequest y Web API para cargar archivos. El segundo ejemplo le muestra cómo cargar múltiples archivos usando la API web, por supuesto.

Estoy seguro de que será útil. Gracias.

¿Por qué no considerar una directiva de terceros como nervgh / angular-file-upload?

Hay muchos artículos disponibles que muestran cómo cargar los archivos usando angular.js y manejar la parte frontal, pero también necesitaría un backend compatible como php, java o C # para que sea completamente funcional.