Duda AngularJS y NodeJS

K

Hola gente,

Estoy intentado realizar un formulario con AngularJS, en su primera versión, en el que está disponible un campo insertar archivo. Mi intención es almacenarlo en el servidor con Node para que así esté disponible a la hora de editar la información.
He utilizado varias dependencias (ng-file-upload, multer, multiparty,...) sin éxito, ya que no las reconoce bien. Mi problema es que en la mayoría de tutoriales en la ruta de realización del POST añaden un array llamado upload.any() o similar, y en mi caso, yo no tengo opción a incluir nada en la ruta del POST.
A modo de resumen, mi estructura es HTML -> controlador cliente javascript -> archivo routes -> controlador servidor javascript -> servicio backend javascript

Si alguien sabe cómo hacerlo o sabe de algún tutorial donde lo expliquen (me da igual inglés que español); lo agradecería mucho!

Un saludo!

Zerokkk

¿Por qué estás usando AngularJS y no las últimas versiones de Angular? Con lo coñazo y lenta que era esa versión con su pedado bundle size, madre mía.

Explícate un poco mejor, porque así a bote pronto, no entiendo bien si tu problema está en las librerías que usas para subir los archivos (frontend) o en cómo tratas las requests en el servidor (backend).

Por ahora mi única recomendación es que expliques un poco mejor tu problema, y... si puedes, cambia a Angular moderno, y métele Express a Node, pues te facilita un montón las cosas y queda un código bastante menos monolítico.

1 respuesta
K

#2 porque en el proyecto que estoy trabajando se usa esa versión, yo también pienso como tú, pero no se puede cambiar de versión:man_facepalming:

Inicialmente en HTML tengo un input de tipo "file". En mi controlador del frontend yo tengo un código tal que así:

function subirImagen () {
	    var image = $('#photo')[0].files[0];
	    	Upload.upload({
		    	url: '/api/subirImagen',
		    	file: image
		    }).then(function (resp) {
	            alert('Error status: ' + resp.status);
	        });
	};

A través de ese código quiero hacer la conexión al backend que almacene la imagen, pero no llego a crear nada porque de primeras me sale el error "Upload is not defined"; he instalado la dependencia de ng-file-upload pero no se cómo introducirla en el archivo javascript del controlador para que no me aparezca que no está definido upload. Entiendo que desde el controlador debo hacer la comunicación con routes y de ahí llegar al servicio del backend para tratar las requests (que tampoco se muy bien cómo tratarlas, pero eso será problema una vez sea capaz de conectarlo con el back)
No se si me he explicado mejor esta vez, es que no se cómo adaptar la explicación por aquí del código.

Gracias por la respuesta.

1 respuesta
Dev

Puedes poner el controller entero o la definición en sí?

Zerokkk

#3 Cualquier error de la forma "xxx is not defined" en Javascript, significa que el paquete, clase o variable a la cual te refieres, no está definida. Tan sencillo como eso. Probablemente no estés apuntando a donde debes en Upload.upload, o no tengas la clase Upload importada, o algo. ¿Te importaría poner aquí todo el código de ese fichero?

1
_Rpv

A uno de mi empresa le echaron por consultar una duda así en internet.
Por la parte de copiar y pegar código xd

B

Pasate a angular 6-7 que es por el que van y dejate de angularJs

Usuarios habituales