تقديم الملفات الثابتة
يوفر Gin ثلاث طرق لتقديم المحتوى الثابت:
router.Static(relativePath, root)— يُقدم مجلداً كاملاً. الطلبات إلىrelativePathيتم تعيينها إلى ملفات تحتroot. على سبيل المثال،router.Static("/assets", "./assets")يُقدم./assets/style.cssعلى/assets/style.css.router.StaticFS(relativePath, fs)— مثلStatic، لكن يقبل واجهةhttp.FileSystem، مما يمنحك مزيداً من التحكم في كيفية حل الملفات. استخدمها عندما تحتاج لتقديم ملفات من نظام ملفات مضمّن أو تريد تخصيص سلوك قائمة المجلدات.router.StaticFile(relativePath, filePath)— يُقدم ملفاً واحداً. مفيد لنقاط النهاية مثل/favicon.icoأو/robots.txt.
package main
import ( "net/http"
"github.com/gin-gonic/gin")
func main() { router := gin.Default() router.Static("/assets", "./assets") router.StaticFS("/more_static", http.Dir("my_file_system")) router.StaticFile("/favicon.ico", "./resources/favicon.ico")
// Listen and serve on 0.0.0.0:8080 router.Run(":8080")}