我正在尝试在我的.NET应用程序中使用CKFinder。无论文件有多大或多小,或者文件的类型是什么,我都无法上传任何文件。我已经让每个人完全控制了CKFinder应该上传到的文件夹(用于测试目的),但它仍然不起作用。它总是给我一个“上传的文件已损坏”错误。如果我尝试在我的Windows 7计算机上本地运行它,或者如果我在Windows Server 2012 R2计算机上实时推送,则无关紧要。请有人帮忙......没有关于此的文档,或者我找不到任何与此情况相关的内容。提前谢谢!
答案 0 :(得分:6)
Friendly URLs可能会对您的问题负责。
如果您在.NET Framework 4(或更新版本)上使用WebForms,请确保WebFormsFriendlyUrlResolver不会修改对CKFinder的请求。
您可以通过完全禁用友好网址或将WebFormsFriendlyUrlResolver
方法的实施方式添加到EnableFriendlyUrls
方法(通常在RouteConfig
课程中完成)来完成此操作。
WebFormsFriendlyUrlResolver
的自定义实现可能如下所示:
public class CKFinderWebFormsFriendlyUrlResolver : WebFormsFriendlyUrlResolver
{
public override string ConvertToFriendlyUrl(string path)
{
if (!string.IsNullOrEmpty(path) && path.ToLower().Contains("/editor/ckfinder"))
{
return path;
}
return base.ConvertToFriendlyUrl(path);
}
}
答案 1 :(得分:3)
在VB.NET中弄清楚它。这是代码。希望有一天能帮助别人!
Public Class MyWebFormsFriendlyUrlResolver
Inherits WebFormsFriendlyUrlResolver
Public Sub New()
MyBase.New()
End Sub
Public Overrides Function ConvertToFriendlyUrl(path As String) As String
If Not String.IsNullOrEmpty(path) And path.ToLower.Contains("/ckfinder") Then
Return path
End If
Return MyBase.ConvertToFriendlyUrl(path)
End Function
End Class
Public Class RouteConfig
Public Shared Sub RegisterRoutes(routes As RouteCollection)
routes.MapPageRoute("P", "P", "~/P.aspx")
Dim settings As FriendlyUrlSettings = New FriendlyUrlSettings()
settings.AutoRedirectMode = RedirectMode.Permanent
routes.EnableFriendlyUrls(settings, New Microsoft.AspNet.FriendlyUrls.Resolvers.IFriendlyUrlResolver() {New MyWebFormsFriendlyUrlResolver()})
End Sub
End Class