我想問如何上傳我的文件在服務器外(爲了安全問題)我使用teleric Rad UploadFiles(ASP.net web應用程序)..我不能使用方法如何上傳服務器外的文件asp.net
server.map("~\\..\\")
到服務器去外面指定服務器以外所需的路徑我得到這個
例外 不能使用的領先..退出頂級目錄上方。
有沒有什麼辦法來確定服務器
請幫忙之外的路徑..
我想問如何上傳我的文件在服務器外(爲了安全問題)我使用teleric Rad UploadFiles(ASP.net web應用程序)..我不能使用方法如何上傳服務器外的文件asp.net
server.map("~\\..\\")
到服務器去外面指定服務器以外所需的路徑我得到這個
例外 不能使用的領先..退出頂級目錄上方。
有沒有什麼辦法來確定服務器
請幫忙之外的路徑..
使用的完整路徑,如「C:\上傳」,並確保網絡進程具有寫權限到該文件夾
我認爲你遇到了一個問題,因爲server.map(..)調用,你不能只使用硬編碼路徑(從配置讀取當然)。因此,請使用「C:\ UploadedFiles \」之類的東西。您需要確保ASP.NET正在運行的用戶有權寫入該目錄等。
太感謝你了,請你能不能給我更多的細節 其中,config文件中,什麼是替代Server.Map() 和重複的問題:: 時在服務器上發佈的應用程序,服務器可以識別這樣的絕對路徑嗎? – 2010-08-12 13:08:15
這完全包含在Telerik文檔中對於這個控件可以找到here。簡而言之:
[ASP.NET] RadUpload聲明
<telerik:RadUpload ID="RadUpload1" Runat="server" />
<asp:Button Runat="server" ID="Button1" Text="Submit"
OnClick="Button1_Click" />
[C#]點擊事件處理
using Telerik.Web.UI;
...
protected void Button1_Click(object sender, System.EventArgs e)
{
foreach (UploadedFile f in RadUpload1.UploadedFiles)
{
f.SaveAs("c:\\uploaded files\\" + f.GetName(), true);
}
}
但是當應用程序發佈在服務器上時,服務器是否可以識別這樣的絕對路徑? – 2010-08-12 13:05:31
當然,Server.MapPath只需要一個「〜/ directory/directory /」形式的路徑並將其轉換爲「C:\ Inetapp \ www \ directory \ directory」。 – Lazarus 2010-08-12 13:09:51
非常感謝你,但我不知道爲什麼我的團隊領導告訴我(不要在你的應用程序中使用任何絕對路徑,因爲服務器無法識別它們,他告訴我使用Server.Map()相反,但在這個問題,我想上傳到服務器外,這種方法將路徑轉換爲在服務器中) – 2010-08-12 13:17:27
我使用Internet Explorer 8,並有類似的問題。我可以在IIS7上從服務器上載託管上載頁面。我也可以從另一個不同的服務器上傳,但是在與web服務器(託管上傳頁面)相同的域上。這兩個工作。
但是,從不在域上的PC上傳,沒有上傳,並給出了500錯誤。我最終將Internet Explorer上的上傳網站添加到了可信站點,並且它運行良好。 :)
在此之前,我檢查了文件夾等權利,這一切都好。也有大小的問題,然後有一個博客,說我要補充:
<requestLimits maxAllowedContentLength="2000000000" /> <!-- bytes -->
</requestFiltering>
到applicationHost.config文件在Web服務器上的位置C:\windows\system32\inetsrv\config\
另外在IIS7我也不得不檢查ASP性能在上傳頁面所在網站的服務器管理器中,將限制屬性\最大請求實體主體限制更改爲匹配applicationHost.config
文件中的大小。
這是一個經典的asp網站。
但是當應用程序發佈在服務器上時,服務器是否可以識別這樣的絕對路徑? – 2010-08-12 13:05:53
我在我的服務器上沒有任何問題。我建議您將路徑本身存儲在web.config文件(appSettings部分)中,以便您可以爲開發和生產服務器設置不同的路徑。 – Ray 2010-08-12 13:22:41
非常感謝你,我認爲這是解決方案,請兩個問題(你使用Server.Map()函數),如何給這個web進程這個權限 – 2010-08-12 13:37:58