Загрузка файла FCKEditor - Не работает на производственном сервере - «Неверный файл» - PullRequest
0 голосов
/ 27 мая 2009

У меня есть FCKEditor (2.6.4), работающий на моей машине для разработки с разъемом aspx для загрузки файлов (это веб-сайт asp.net), но я не могу понять, как заставить его работать на рабочей машине. Arrgh. Потратил на это 4 часа и никуда не попал.

Судя по всему, это проблема с разрешениями, но:

  • Я дважды и трижды проверил, что IUSR, ASPNET и сетевая служба (и даже «Все», на данный момент) имеют разрешение на запись файлов в папку «userfiles», которая является целью загрузки.
  • Я следовал букве закона при настройке fckconfig.js

Симптомы:

  • Редактор работает нормально. Пользователь может ввести текст и т. Д.
  • Пользователь может нажать кнопку вставки изображения, которая вызывает средство выбора изображения. Можно просто вставить изображение, которое уже существует на сервере.
  • Может зайти в диалог загрузки файла и успешно создать новую папку на сервере через пользовательский интерфейс fckeditor.
  • Но всякий раз, когда пользователь пытается загрузить маленькое и правильное изображение .png, .jpg, .gif, любое изображение (которое хорошо работает на моем локальном хосте здесь), Firefox выдает мне сообщение «Invalid File». (Я пробовал использовать многочисленные допустимые файлы изображений различных размеров и форматов. Ничего не работает. Изображение не загружается на сервер.)

соответствующий код из fckconfig.js:

` var _FileBrowserLanguage = 'aspx';
var _QuickUploadLanguage = 'aspx';

// Не волнует следующие две строки. Он просто рассчитывает правильный разъем // расширение, используемое для браузера файлов по умолчанию (Perl использует «cgi»). var _FileBrowserExtension = _FileBrowserLanguage == 'perl'? 'cgi': _FileBrowserLanguage; var _QuickUploadExtension = _QuickUploadLanguage == 'perl'? 'cgi': _QuickUploadLanguage; `

код из fckeditor \ editor \ filemanager \ connectors \ aspx \ config.ascx:

`UserFilesPath =" ~ / userfiles / ";

    // The connector tries to resolve the above UserFilesPath automatically.
    // Use the following setting it you prefer to explicitely specify the
    // absolute path. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
    // Attention: The above 'UserFilesPath' URL must point to the same directory.

    string ap = HttpContext.Current.Server.MapPath("~/userfiles/");
    UserFilesAbsolutePath = ap;


    //UserFilesAbsolutePath = "C:\\inetpub\\wwwroot\\hot-bigoven\\userfiles\\";
    //UserFilesAbsolutePath = "C:\\inetpub\\wwwroot\\bigovenwebapp\\bigovenwebapp\\userfiles\\";


    // Due to security issues with Apache modules, it is recommended to leave the
    // following setting enabled.

    //ForceSingleExtension = true;

    // Allowed Resource Types
    AllowedTypes = new string[] { "File", "Image", "Flash", "Media" };

    // For security, HTML is allowed in the first Kb of data for files having the
    // following extensions only.
    HtmlExtensions = new string[] { "html", "htm", "xml", "xsd", "txt", "js" };

    TypeConfig[ "File" ].AllowedExtensions          = new string[] { "7z", "aiff", "asf", "avi", "bmp", "csv", "doc", "fla", "flv", "gif", "gz", "gzip", "jpeg", "jpg", "mid", "mov", "mp3", "mp4", "mpc", "mpeg", "mpg", "ods", "odt", "pdf", "png", "ppt", "pxd", "qt", "ram", "rar", "rm", "rmi", "rmvb", "rtf", "sdc", "sitd", "swf", "sxc", "sxw", "tar", "tgz", "tif", "tiff", "txt", "vsd", "wav", "wma", "wmv", "xls", "xml", "zip" };
    TypeConfig[ "File" ].DeniedExtensions           = new string[] { };
    TypeConfig[ "File" ].FilesPath                  = "%UserFilesPath%file/";
    TypeConfig[ "File" ].FilesAbsolutePath          = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%file/" );
    TypeConfig[ "File" ].QuickUploadPath            = "%UserFilesPath%";
    TypeConfig[ "File" ].QuickUploadAbsolutePath    = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%" );

    TypeConfig[ "Image" ].AllowedExtensions         = new string[] { "bmp", "gif", "jpeg", "jpg", "png" };
    TypeConfig[ "Image" ].DeniedExtensions          = new string[] { };
    TypeConfig[ "Image" ].FilesPath                 = "%UserFilesPath%image/";
    TypeConfig[ "Image" ].FilesAbsolutePath         = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%image/" );
    TypeConfig[ "Image" ].QuickUploadPath           = "%UserFilesPath%";
    TypeConfig[ "Image" ].QuickUploadAbsolutePath   = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%" );

    TypeConfig[ "Flash" ].AllowedExtensions         = new string[] { "swf", "flv" };
    TypeConfig[ "Flash" ].DeniedExtensions          = new string[] { };
    TypeConfig[ "Flash" ].FilesPath                 = "%UserFilesPath%flash/";
    TypeConfig[ "Flash" ].FilesAbsolutePath         = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%flash/" );
    TypeConfig[ "Flash" ].QuickUploadPath           = "%UserFilesPath%";
    TypeConfig[ "Flash" ].QuickUploadAbsolutePath   = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%" );

    TypeConfig[ "Media" ].AllowedExtensions         = new string[] { "aiff", "asf", "avi", "bmp", "fla", "flv", "gif", "jpeg", "jpg", "mid", "mov", "mp3", "mp4", "mpc", "mpeg", "mpg", "png", "qt", "ram", "rm", "rmi", "rmvb", "swf", "tif", "tiff", "wav", "wma", "wmv" };
    TypeConfig[ "Media" ].DeniedExtensions          = new string[] { };
    TypeConfig[ "Media" ].FilesPath                 = "%UserFilesPath%media/";
    TypeConfig[ "Media" ].FilesAbsolutePath         = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%media/" );
    TypeConfig[ "Media" ].QuickUploadPath           = "%UserFilesPath%";
    TypeConfig[ "Media" ].QuickUploadAbsolutePath   = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%" );

`

1 Ответ

1 голос
/ 27 мая 2009

Я перешел на использование разъема "ASP", и он работает отлично. По какой-то причине коннектор .aspx не работал на моем производственном сайте (но работал на компьютере разработчика), но коннектор ASP работает нормально.

Не совсем «ответ», но эффективный обходной путь.

...