• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

348
Vistas
FastAPI sirviendo archivos estáticos a través de enlaces simbólicos

Monté el directorio estático en mi aplicación FastAPI usando el siguiente código:

 from fastapi.staticfiles import StaticFiles app = FastAPI( title="Title of the Application", description="Over all description of the application") app.mount("/public", StaticFiles(directory='public'), name='public')

Si tengo un enlace simbólico que apunta a una ruta fuera de la carpeta de la aplicación, por ejemplo

 /home/xyz/app/main.py /home/xyz/app/index.html /home/xyz/app/public/data -> /home/xyz/static/whatever.tgz

La aplicación FastAPI puede reconocer la URL xyz.com/public/index.html , pero no puede reconocer xyz.com/public/data .

¿Es esto factible? Desafortunadamente, no puedo usar FileResponse debido a que el tamaño del blob es demasiado grande. Quiero devolver el archivo con un enlace simple de alguna manera.

over 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Es factible, siempre que monte una instancia de StaticFiles() en esa ruta específica también. Por ejemplo:

 app.mount("/public", StaticFiles(directory="public"), name="public") app.mount("/publicsym", StaticFiles(directory="public/data"), name="publicsym")

Luego, en su plantilla Jinja2, puede solicitar los archivos de la siguiente manera, por ejemplo:

 <link href="{{ url_for('public', path='/styles.css') }}" rel="stylesheet"> <img src="{{ url_for('publicsym', path='/image.png')}}" width="50%">

o, según su ejemplo dado (si hay un directorio "estático" que incluye un archivo "lo que sea.tgz" en la carpeta señaladora):

 {{ url_for('publicsym', path='static/whatever.tgz')}}
over 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda