CKFinder - 上传的文件已损坏

时间:2016-01-18 21:14:35

标签: ckfinder

我正在尝试在我的.NET应用程序中使用CKFinder。无论文件有多大或多小,或者文件的类型是什么,我都无法上传任何文件。我已经让每个人完全控制了CKFinder应该上传到的文件夹(用于测试目的),但它仍然不起作用。它总是给我一个“上传的文件已损坏”错误。如果我尝试在我的Windows 7计算机上本地运行它,或者如果我在Windows Server 2012 R2计算机上实时推送,则无关紧要。请有人帮忙......没有关于此的文档,或者我找不到任何与此情况相关的内容。提前谢谢!

2 个答案:

答案 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