CKFinder - 上传的文件已损坏

CKFinder - The uploaded file is corrupt

我正在尝试在我的 .NET 应用程序中使用 CKFinder。无论文件大小或文件类型如何,我都无法上传任何文件。我已经让每个人完全控制 CKFinder 应该上传到的文件夹(出于测试目的),但它仍然不起作用。它总是给我一个 "The uploaded file is corrupt" 错误。无论我是尝试 运行 在我的 Windows 7 机器上进行本地化,还是在 Windows Server 2012 R2 机器上进行实时推送都没有关系。请有人帮助...没有关于此的文档,或者我找不到与这种情况相关的任何内容。提前致谢!

可能 Friendly URLs 对您的问题负责。

如果您在 .NET Framework 4(或更新版本)上使用 WebForms,请确保对 CKFinder 的请求未被 WebFormsFriendlyUrlResolver 修改。

您可以通过完全禁用友好 URL 或将您自己的 WebFormsFriendlyUrlResolver 实现添加到 EnableFriendlyUrls 方法(通常在 RouteConfig class 中完成)来实现此目的。 =17=]

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);
    }
}

在 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