Gunakan kode ini:
HttpContext.Current.Server.MapPath("~")
Referensi Terperinci:
Server.MapPath
menentukan jalur relatif atau virtual untuk dipetakan ke direktori fisik.
Server.MapPath(".")
mengembalikan direktori fisik saat ini dari file (misalnya aspx) yang sedang dijalankan
Server.MapPath("..")
mengembalikan direktori induk
Server.MapPath("~")
mengembalikan jalur fisik ke root aplikasi
Server.MapPath("/")
mengembalikan jalur fisik ke root nama domain (tidak harus sama dengan root aplikasi)
Sebuah contoh:
Misalkan Anda mengarahkan aplikasi situs web ( http://www.example.com/ ) ke
C:\Inetpub\wwwroot
dan menginstal aplikasi toko Anda (sub web sebagai direktori virtual di IIS, ditandai sebagai aplikasi) di
D:\WebApps\shop
Misalnya, jika Anda memanggil Server.MapPath
permintaan berikut:
http://www.example.com/shop/products/GetProduct.aspx?id=2342
kemudian:
Server.MapPath(".") returns D:\WebApps\shop\products
Server.MapPath("..") returns D:\WebApps\shop
Server.MapPath("~") returns D:\WebApps\shop
Server.MapPath("/") returns C:\Inetpub\wwwroot
Server.MapPath("/shop") returns D:\WebApps\shop
Jika Path dimulai dengan garis miring (/) atau garis miring ke belakang (), MapPath
metode akan mengembalikan jalur seolah-olah Path adalah jalur virtual penuh.
Jika Path tidak dimulai dengan garis miring, MapPath
metode tersebut mengembalikan jalur yang berhubungan dengan direktori permintaan yang sedang diproses.
Catatan: di C #, @ adalah operator string literal verbatim yang berarti bahwa string harus digunakan "sebagaimana adanya" dan tidak diproses untuk escape sequence.
Catatan kaki
Server.MapPath(null)
dan Server.MapPath("")
akan menghasilkan efek ini juga.