วิธีเพิ่ม static file ใน .net core

Petch Kruapanich
readmoreth
Published in
1 min readJul 3, 2019

วันนี้บังเอิญมีเหตุให้ต้องทำ load test ระบบนึง ซึ่งเราเลือกใช้ Loader.io ในการทำการทดสอบ ซึ่งหนึ่งในขั้นตอนการทำ จำเป็นจะต้องมีการวาง static file ที่มี key ของระบบ ไว้ที่ root directory เพื่อให้ตัว Loader.io เข้ามาอ่านได้

ซึ่งแต่เดิมถ้าเราพัฒนาระบบด้วย asp.net ทั่วๆไป เราสามารถเอาไฟล์ไปวางไว้ตรงไหนก็ได้ เพียงแค่ชี้ path ไปถูกต้องก็สามารถเข้าถึงไฟล์นั้นได้แล้ว แต่พอมาใช้งานบน .net core มันเริ่มไม่ง่ายแบบนั้นแล้วละสิ

http Error ที่บอกว่าหาไฟล์ไม่เจอ ทั้งๆที่ชี้ path ถูก

เมื่อลองหาข้อมูลเพิ่มเติมเลยได้รู้ว่าพวก Static files ต่างๆเช่น HTML, CSS, Javascript รวมถึงรูปภาพ และ media ต่างๆที่จะส่งให้ผู้ใช้งานดู โดยไม่ได้ผ่านกระบวนการใดๆเนี่ย มันต้องมีขั้นตอนในการ config เพิ่มเติมเล็กน้อยดังนี้

ตรวจสอบว่ามี Folder wwwroot รึยัง

โดยปกติแล้ว Static File จะถูกวางไว้ที่ [root directory]/wwwroot ซึ่งถ้าเราอยากแก้ไข ก็สามารถทำได้ โดยไปแก้ไข file program.cs และเรียกใช้ .UseWebRoot เพิ่มเติม และระบุ Folder ที่ต้องการลงไป

แก้ไข static folder

เปิดใช้งาน Static File ใน Startup.cs

เนื่องจากการใช้งาน Static File ไม่ได้เป็น Default Template ของ .net core เราจำเป็นจะต้อง เพิ่ม code app.UseStaticFiles() ลงไปใน Configure ของ Startup ก่อน (หากไม่มีสามารถ ติดตั้ง Microsoft.AspnetCore.StaticFiles จาก NUGET ก่อนได้นะ)

เปิดใช้งาน static file ด้วยคำสั่ง UseStaticfiles

เมื่อตั้งค่าทั้งหมดเรียบร้อย เราก็จะได้ข้อมูลตามที่ต้องการมาแล้ว

เมื่อลองระบุ path เพื่อเข้า static file อีกครั้ง

--

--

Petch Kruapanich
readmoreth

Full time Developer, Part time writer, Vinyl lover