رفع مشکل دانلود HTML در Hugging Face Docker Space
مشکل
وقتی روی Hugging Face Space اجرا میشود، به جای نمایش HTML، از کاربر میخواهد فایل index.html را دانلود کند.
راه حلهای اعمال شده
1. تنظیم صریح Content-Type Headers
return HTMLResponse(
content=content,
media_type="text/html",
headers={
"Content-Type": "text/html; charset=utf-8",
"X-Content-Type-Options": "nosniff"
}
)
2. اصلاح WORKSPACE_ROOT
در Docker container، مسیر به /app تغییر یافت:
WORKSPACE_ROOT = Path("/app" if Path("/app").exists() else ...)
3. بررسی Dockerfile
Dockerfile باید:
- WORKDIR را
/appتنظیم کند ✅ - فایلها را به
/appکپی کند ✅ - Port 7860 را expose کند ✅
تست
بعد از rebuild در Hugging Face:
- به Space خود بروید
- روی URL کلیک کنید
- باید HTML به جای دانلود نمایش داده شود
اگر هنوز مشکل دارید
بررسی Logs در Hugging Face:
- به Space Settings بروید
- Logs را بررسی کنید
- ببینید آیا خطایی وجود دارد
بررسی Path:
در logs باید ببینید:
✓ Mounted static files from /app/static
✓ Database initialized at /app/data/database/crypto_monitor.db
بررسی Content-Type:
در browser DevTools (F12):
- Network tab را باز کنید
- Request به
/را بررسی کنید - Response Headers را ببینید
- باید
Content-Type: text/html; charset=utf-8باشد
تغییرات اعمال شده
✅ Headers صریح برای HTMLResponse ✅ WORKSPACE_ROOT اصلاح شد ✅ Content-Type به صورت explicit تنظیم شد ✅ X-Content-Type-Options اضافه شد