簡體   English   中英

以中等信任度將文件保存到網站中的文件夾中

[英]Save file to a folder in the website in medium trust in ASP.NET

在我的網站上,我通過調用以下代碼將圖像保存到文件夾(照片)中

ImageUploadControl.PostedFile.SaveAs(HttpContext.Current.Server.MapPath("~/Photos/" + Name + ext));

在中等信任中拋出錯誤'Access not allowed' 還有其他以中等信任度保存圖像的方法嗎? 該文件夾需要公開訪問,因為客戶端無需任何身份驗證即可訪問這些圖像,因此我無法將其保存在App_Data中(此問題的一種解決方法)

*網站托管在hostgator共享計划上。 我可以要求多少服務器配置是有限制的。

編輯:

是的,這是一個訪問問題,因為解決〜tilda,不允許使用虛擬路徑。 我希望任何人都有解決此問題的方法。

考慮到您使用的是本機.NET控件,我認為這更多是由於文件系統權限而不是環境的信任。 如果您使用的是第三方控件,那將是一個信任問題。

快速瀏覽Hostgator時,他們使用cPanel,從那里開始是文件管理器部分,在這里,如果要選擇'Photos'文件夾並選擇“ Change Permissions”,請在此處確保該文件夾具有應用程序的寫訪問權限。

編輯


用於設置* nix權限的支持文章: https : //support.hostgator.com/articles/cpanel/how-to-change-permissions-chmod-of-a-file

並且: https : //support.hostgator.com/articles/specialized-help/technical/my-script-needs-to-use-777-permissions

好的,因為這是路徑問題:

https://support.hostgator.com/articles/hosting-guide/lets-get-started/server-path-absolute-path

它是否在* nix框上運行ASP.NET? 還是在Windows Server和IIS上運行?

另外,我認為您可能需要在這種情況下修改代碼:

string pathRoot = HttpContext.Current.Server.MapPath("~/Photos/");
ImageUploadControl.PostedFile.SaveAs(pathRoot + "/" + Name + ext);

看來您的原始代碼正在嘗試將mapPath與不存在的文件路徑一起使用。

如果必須一行,則可能會起作用:

ImageUploadControl.PostedFile.SaveAs(HttpContext.Current.Server.MapPath("~/Photos/") + Name + ext);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM