HTML - Arreglo de imagenes para movimientos

 
Vista:
Imágen de perfil de Ignacio

Arreglo de imagenes para movimientos

Publicado por Ignacio (5 intervenciones) el 17/08/2023 00:06:33
Salu2 colegas, estoy adentrando en html y asp.net, necesito idea o código para captar todas las imágenes de una carpeta "productos" meterla en un arreglo para después mostrarla utilizando marquee de html o jquery.lazyload.js. Encontré unos ejemplos pero el arreglo se conforma por códifo y lo que necesito es tomarlas automáticamente de la carpeta.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ivan

Arreglo de imagenes para movimientos

Publicado por Ivan (56 intervenciones) el 18/08/2023 12:23:49
Hola,

primero hay dos cosas a tener en cuenta:

1 - Ninguna web puede leer los archivos locales de un usuario y menos de forma automática. Sólo se podría leer lo que el usuario añade a un formulario.

2 - Lo único que una web puede leer y ejecutar de forma automática son los archivos del servidor y para eso necesitas un lenguaje de servidor como PHP o en tu caso asp.net.

Si justo estás empezando, yo como programador, te aconsejaría aprender PHP antes que ASP, es una cuestión de preferencias sobre el mundo de Internet y el software libre, pero sólo es mi opinión.

Para acabar, no se el código para hacer lo que quieres en ASP, pero sí tengo un post donde explico cómo hacerlo en PHP ;)

Leer archivos de un directorio con PHP

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Ignacio

Arreglo de imagenes para movimientos

Publicado por Ignacio (5 intervenciones) el 18/08/2023 20:43:44
Gracias por contestar. Te explico.. las imágenes no están en el cliente, están en el servidor en una carpeta Imágenes de mi proyecto, quiero tomarlas a un arreglo y después recorriendo ese arreglo ir mostrándola con movimientos, como explique. Ahora.. logré mediante codigo crear el arreglo

Private Sub form1_Load(sender As Object, e As EventArgs) Handles form1.Load
Dim lista As New ArrayList()
Dim archivos = System.IO.Directory.GetFiles(Server.MapPath("~/imagenes/productos"),"*.*")
For Each archivo As String In archivos
lista.add("/imagenes/productos/" + System.IO.Path.GetFileName(archivo))
Next
End Sub

Lo que no logro o no se hacer es poder utilizar ese arreglo (lista) en la pagina .ASPX para recorrerla e ir mostrándola con marquee de html o jquery.

Muy entendible tu post, pero ya la página está programada en ASP y no quisiera empezar de nuevo y pasarla a PHP,
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ivan

Arreglo de imagenes para movimientos

Publicado por Ivan (56 intervenciones) el 18/08/2023 21:40:14
Hola,

bueno, pues ahora tienes que decidir el tipo de carrusel de imágenes que quieres implementar, hay muchos tipos:

- bootstrap
- librerias javascript como Lightbox
- etc.

Una vez decidas el que quieres (yo uso Lightbox) coges tu arreglo y con ASP escribes el código html de cada imagen en la página, tal y como pide el plugin o librería.

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ignacio

Arreglo de imagenes para movimientos

Publicado por Ignacio (5 intervenciones) el 21/08/2023 16:13:40
ok, gracias nuevamente, voy hacer las pruebas y te comento. muy amable de su parte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ignacio

Arreglo de imagenes para movimientos

Publicado por Ignacio (5 intervenciones) el 25/08/2023 04:06:18
Disculpa amigo por la demora en contestar, cogí la idea que me has dado, pero el problema es que no se como tomar en ASPX, ese arreglo creado y recorrerlo. Puedo usar cualquier sugerencia que me indicas, pero no doy con el codigo, Por ejemplo: si utilizo:
<div class="row">
<div class="col">
<h2>Productos </h2>
<img class="lazy img-fluid" data-original="imagenes/productos/producto.jpg" width="265" height="174">
<img class="lazy img-fluid" data-original="imagenes/productos/producto1.jpg" width="265" height="174">
.
.
</div>
</div>
<script src="Scripts/jquery.min.js"></script>
<script src="Scripts/jquery.lazyload.js"></script>
<script type="text/javascript" charset="utf-8">
$(function() {
$("img.lazy").lazyload({
effect: "fadeIn"
});
});
</script>
((Poniendo <img....> una a una me sale perfecto. Pero es aqui precisamente donde debo poner el recorrido del arreglo, y no lo logro, supongo que debo poner un scrip con un ciclo, pero no lo sé , no capto el código y asi me sucede si utilizo bootstrap, Lightbox
etc. Para que me entiendas mejor, lo que pretendo es que el cliente suba (X) imagenes al servidor y después se puedan mostrar, las que sean, no se si me doy a entender. Disculpa, quizás sea facil, pero ya comente que soy aprendiz en WEB, si me mostraran algun código lo agradecería. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ivan

Arreglo de imagenes para movimientos

Publicado por Ivan (56 intervenciones) el 25/08/2023 18:03:49
Hola,

a ver, tienes que corregir un error de concepto muy importante, sobretodo ahora que empiezas.
Hay que entender las diferéncias entre cliente y servidor cuando hablamos de un entorno web.
Resumiendo mucho:

- Cliente: Es el ordenador o dispositivo de cualquier usuario accediendo a una página web
- Servidor: Es un ordenador construyendo la página web que luego devolverá al cliente.

Como puedes ver, el cliente sólo ve la página WEB que le llega y que ÚNICAMENTE contendrá código HTML, CSS y/o JavaScript. Este código será interpretado por el navegador (Firefox, Chrome, etc) para visualizar la web.

En cambio, el servidor al construir la página HTML puede obtener datos de formularios, acceder/añadir/eliminar registros en una bases de datos, filtrar y trabajar con esos datos, paginarlos, etc. y finalmente mostrar el resultado en forma de página HTML de nuevo al cliente.

Dicho esto me dices que obtienes los datos mediante código de servidor (ASP) cuando el cliente envía un formulario: Esto es correcto.
Pero ahora quieres obtener esos datos mediante código JavaScript: Esto es incorrecto.

Lo que se suele hacer es:
a) Utilizar 2 páginas, una para recibir y tratar los datos del formulario y otra para mostrar el resultado (obsoleto)
b) Utilizar la misma página para recibir, tratar y mostrar el resultado del formulario subido.

Utilizando la opción (b) en tu caso el código ASP sería algo así:

1
2
3
4
5
6
7
8
9
10
11
Private Sub form1_Load(sender As Object, e As EventArgs) Handles form1.Load
    Dim lista As New ArrayList()
    Dim archivos = System.IO.Directory.GetFiles(Server.MapPath("~/imagenes/productos"), "*.*")
 
    For Each archivo As String In archivos
        lista.Add("/imagenes/productos/" + System.IO.Path.GetFileName(archivo))
    Next
 
    ' Almacena la lista en una variable de sesión para acceder desde la página web'
    Session("ListaImagenes") = lista
End Sub

Ahora en la parte HTML debes escribir el código ASP para generar las imágenes con su atributo <img> con algo parecido a esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html>
<html>
<head>
    <title>Imágenes de Productos</title>
</head>
<body>
    <div class="image-container">
        <% Dim lista As ArrayList = DirectCast(Session("ListaImagenes"), ArrayList) %>
        <% If lista IsNot Nothing Then %>
            <% For Each imagen As String In lista %>
                <img class="lazy img-fluid" data-original="<%= imagen %>" width="265" height="174">
            <% Next %>
        <% End If %>
    </div>
</body>
</html>

Piensa que todo esto se ejecuta en el servidor y lo que le llega al cliente es un HTML con todas las etiquetas <img> escritas y luego puede interactuar con ellas a modo de "carrusel" con JavaScript.

Espero haberme explicado bien con tanto rollo y que el código funcione correctamente, porque como ya dige, ASP no es lo mío.

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ignacio

Arreglo de imagenes para movimientos

Publicado por Ignacio (5 intervenciones) el 25/08/2023 22:17:07
Gracias amigo, de inmediato me pongo en función con tus señalamientos, respecto a los conceptos, me esta claro cliente-servidor, pues aunque mi fuerte es formularios windows he hecho algunas cosas con formularios web, aplicaciones web con acceso a datos SQL, etc, tengo la app montada en IIS server 2019, y soy administrador de red en una Empresa comercializadora, mi hobby es la programación, te explico mejor, la web que estoy haciendo es tipo tienda, donde los clientes puedan ver las imagenes de los productos que ofertamos, peroooo, hay una opción dentro de la web que el comercial de mi Empresa puede entrar mediante autentificación y subir al servidor las fotos de los nuevos productos que le llegan, cuando el cliente entra a la web puede ver las fotos de los productos que en su momento el comercial subio al servidor, como puedes observar en el load cargo todas esas imágenes en el arreglo... donde estaba "encasquillado" ? En la parte del diseño como tomar ese arreglo y mostrar las imágenes que repito... están en servidor previamente subidas, jejejjeje he utilizado variables session, pero jamas se me ocurrió utilizarla en este caso, gracias mil, utilizo carrusel en otras partes de la web con bootstrap pero solo son 5 imágenes, solo doy el camino y listo, pero en el caso de los productos depende de la cantidad de productos que puede ser cantidad variable, enseguida pruebo y te hago saber, Disculpa todas las molestias, un abrazo y acá en Cuba tienes un amigo.Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar