Как : redactor.js imageЗагрузить сообщение Дополнительные параметры

Я использую этот замечательный редактор, но понятия не имею, как передавать дополнительные параметры с помощью imageUpload и clipboardUpload.

Я хотел бы иметь возможность публиковать дополнительные параметры, когда пользователь пропускает изображение в редактор.

$el.redactor({
    imageUpload: '/WebUpload/Save',
    clipboardUploadUrl: '/WebUpload/Save',
});

http://imperavi.com/redactor/


Обновлять

начиная с Redacor v10 дополнительные параметры включены, просто используйте uploadImageFields

$el.redactor({
    imageUpload: '/WebUpload/Save',
    clipboardUploadUrl: '/WebUpload/Save',
    uploadImageFields: {
                id: 1234,
                name: "test123"
            },
});

person Nerdroid    schedule 17.12.2013    source источник


Ответы (1)


Нигде не смог найти ответ, поэтому взломал основной файл redactor.js.

я добавил

$.Redactor.opts = {
        imageUploadExtraParams: {},

к параметрам и изменил сообщение, чтобы включить эти параметры в pasteClipboardUploadMozilla и pasteClipboardUpload

pasteClipboardUploadMozilla: function() {
    var imgs = this.$editor.find('img[data-mozilla-paste-image]');

    $.each(imgs, $.proxy(function(i, s) {

        var $s = $(s);
        var arr = s.src.split(",");
        var data = arr[1]; // raw base64
        var contentType = arr[0].split(";")[0].split(":")[1];

        var postData = {
            contentType: contentType,
            data: data,
        };
        var extraParams = this.opts.imageUploadExtraParams || {};
        for (var propName in extraParams) {
            postData[propName] = extraParams[propName];
        }

        $.post(this.opts.clipboardUploadUrl, postData,

и изменился

pasteClipboardUploadMozilla: function() {
    var imgs = this.$editor.find('img[data-mozilla-paste-image]');

    $.each(imgs, $.proxy(function(i, s) {

        var $s = $(s);
        var arr = s.src.split(",");
        var data = arr[1]; // raw base64
        var contentType = arr[0].split(";")[0].split(":")[1];

        var postData = {
            contentType: contentType,
            data: data,
        };
        var extraParams = this.opts.imageUploadExtraParams || {};
        for (var propName in extraParams) {
            postData[propName] = extraParams[propName];
        }

        $.post(this.opts.clipboardUploadUrl, postData,

теперь я могу опубликовать дополнительные параметры, просто добавив объект imageUploadExtraParams

$el.redactor({
    imageUpload: '/WebUpload/Save',
    clipboardUploadUrl: '/WebUpload/Save',
    imageUploadExtraParams: {
                id: 1234,
                name: "test123"
            },
});

Обновлять

начиная с Redacor v10 дополнительные параметры включены, просто используйте uploadImageFields

$el.redactor({
    imageUpload: '/WebUpload/Save',
    clipboardUploadUrl: '/WebUpload/Save',
    uploadImageFields: {
                id: 1234,
                name: "test123"
            },
});
person Nerdroid    schedule 18.12.2013