วิธีเพิ่ม static file ใน .net core
วันนี้บังเอิญมีเหตุให้ต้องทำ load test ระบบนึง ซึ่งเราเลือกใช้ Loader.io ในการทำการทดสอบ ซึ่งหนึ่งในขั้นตอนการทำ จำเป็นจะต้องมีการวาง static file ที่มี key ของระบบ ไว้ที่ root directory เพื่อให้ตัว Loader.io เข้ามาอ่านได้
ซึ่งแต่เดิมถ้าเราพัฒนาระบบด้วย asp.net ทั่วๆไป เราสามารถเอาไฟล์ไปวางไว้ตรงไหนก็ได้ เพียงแค่ชี้ path ไปถูกต้องก็สามารถเข้าถึงไฟล์นั้นได้แล้ว แต่พอมาใช้งานบน .net core มันเริ่มไม่ง่ายแบบนั้นแล้วละสิ
เมื่อลองหาข้อมูลเพิ่มเติมเลยได้รู้ว่าพวก Static files ต่างๆเช่น HTML, CSS, Javascript รวมถึงรูปภาพ และ media ต่างๆที่จะส่งให้ผู้ใช้งานดู โดยไม่ได้ผ่านกระบวนการใดๆเนี่ย มันต้องมีขั้นตอนในการ config เพิ่มเติมเล็กน้อยดังนี้
ตรวจสอบว่ามี Folder wwwroot รึยัง
โดยปกติแล้ว Static File จะถูกวางไว้ที่ [root directory]/wwwroot ซึ่งถ้าเราอยากแก้ไข ก็สามารถทำได้ โดยไปแก้ไข file program.cs
และเรียกใช้ .UseWebRoot
เพิ่มเติม และระบุ Folder ที่ต้องการลงไป
เปิดใช้งาน Static File ใน Startup.cs
เนื่องจากการใช้งาน Static File ไม่ได้เป็น Default Template ของ .net core เราจำเป็นจะต้อง เพิ่ม code app.UseStaticFiles()
ลงไปใน Configure ของ Startup ก่อน (หากไม่มีสามารถ ติดตั้ง Microsoft.AspnetCore.StaticFiles
จาก NUGET ก่อนได้นะ)
UseStaticfiles
เมื่อตั้งค่าทั้งหมดเรียบร้อย เราก็จะได้ข้อมูลตามที่ต้องการมาแล้ว