我想问一下如何在服务器外上传我的文件(出于安全问题)我使用teleric Rad UploadFiles(ASP.net web应用程序)..我无法使用方法指定服务器外部所需路径的问题< / p>
server.map("~\\..\\")
走出服务器我得到了这个
例外 无法使用前导..退出顶级目录。
有没有办法确定服务器外的路径
请帮助..
答案 0 :(得分:2)
使用完整路径,例如“c:\ uploads”,并确保网络进程有权写入该文件夹
答案 1 :(得分:1)
此控件的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);
}
}
答案 2 :(得分:0)
我认为你因为server.map(..)调用而遇到问题,你能不能只使用硬编码路径(当然从配置中读取)。所以使用像“C:\ UploadedFiles \”这样的东西你需要确保运行ASP.NET的用户有权写入该目录等。
答案 3 :(得分:0)
我正在使用Internet Explorer 8,并遇到类似问题。在IIS7中,我可以从服务器上传托管上传页面。我也可以从另一个不同的服务器上传,但与网络服务器(托管上传页面)在同一个域上。这两个都有效。
但是从不在域上的PC上传,没有上传,并且给出了500错误。我最终将Internet Explorer上传网站添加到可信站点,并且工作正常。 :)
在此之前,我检查了文件夹等权限,这一切都没问题。还有尺寸问题,然后有一个博客,说我应该补充:
<requestLimits maxAllowedContentLength="2000000000" /> <!-- bytes -->
</requestFiltering>
到位于C:\windows\system32\inetsrv\config\
此外,在IIS7中,我还必须检查服务器管理器中上传页面所在的网站的asp属性,更改了Limit Properties \ Maximum Requesting Entity Body Limit以匹配applicationHost.config
文件中的大小
这是一个经典的asp网站。