گرفتن مسیر کامل فایل با کنترل FileUpload در ASP.Net
با سلام برنامه نویسان تمایل دارند مسیر فایل در دستگاه کاربر که برای آپلود در مرورگرهایی مانند Internet Explorer IE ، FireFox ، Chrome ، Safari و Opera انتخاب شده است ، دسترسی پیدا کنند که به صورت fakepath نمایش داده شود.
در ابتدا فایل را به سرور ارسال می کردند اما بعداً به دلیل پیشرفت در زمینه اینترنت ، از این مسیر برای هک کردن رایانه استفاده می شد.از این رو اکنون محل پوشه فایل در دستگاه کاربر برای سرور ارسال نمی شود.
از آنجا که هر دو client و سرور یک دستگاه هستند ، شما تمایل به استفاده از همان مسیر را برای ذخیره کردن دارید. اما این نادرست است
شما باید فایل را در پوشه سرور ذخیره کنید و ساده ترین راه این است که یک پوشه به نام Uploads را در وب سایت یا برنامه وب خود ایجاد کنید و سپس با استفاده از کد زیر فایل را در آنجا ذخیره کنید.
C #
protected void btnUpload_Click(object sender, EventArgs e)
{
string fileName = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Uploads/" + fileName));
}
VB.Net
Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim fileName As String = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName)
FileUpload1.PostedFile.SaveAs(Server.MapPath(("~/Uploads/" + fileName)))
End Sub