首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >媒体编辑器-插入-插件的jQuery图像上传错误

媒体编辑器-插入-插件的jQuery图像上传错误
EN

Stack Overflow用户
提问于 2018-09-06 03:30:19
回答 1查看 532关注 0票数 0

我正在使用https://github.com/yabwe/medium-editor文本编辑器,尤其是它的扩展https://github.com/orthes/medium-editor-insert-plugin

我的后端是-Flask

问题是我得到的是这个错误:

medium-editor-insert-plugin.js.js:1940 --未捕获的TypeError:无法读取未定义的属性'files‘

这是抛出错误的方法:

代码语言:javascript
复制
/**
 * Callback for successful upload requests.
 * https://github.com/blueimp/jQuery-File-Upload/wiki/Options#done
 *
 * @param {Event} e
 * @param {object} data
 * @return {void}
 */

Images.prototype.uploadDone = function (e, data) {
    $.proxy(this, 'showImage', data.result.files[0].url, data)();

    this.core.clean();
    this.sorting();
};

这是我客户端的jQuery代码:

代码语言:javascript
复制
var editor = new MediumEditor('.forecast-textarea__editor');

      $(function () {
        $('.forecast-textarea__editor').mediumInsert({
          editor: editor,
          addons: {
            images: {
              uploadScript: null,
              deleteScript: null,
              captionPlaceholder: 'Type caption for image',
              styles: {
                slideshow: {
                  label: '<span class="fa fa-play"></span>',
                  added: function ($el) {
                    $el
                      .data('cycle-center-vert', true)
                      .cycle({
                        slides: 'figure'
                      });
                  },
                  removed: function ($el) {
                    $el.cycle('destroy');
                  }
                }
              },
              actions: null,
              fileUploadOptions: { // (object) File upload configuration. See https://github.com/blueimp/jQuery-File-Upload/wiki/Options
                url: '/upload_image', // (string) A relative path to an upload script
                acceptFileTypes: /(\.|\/)(gif|jpeg|jpg|png)$/i // (regexp) Regexp of accepted file types
              }
            }
          }
        })
      });

这是响应AJAX调用的后端方法:

代码语言:javascript
复制
@bp.route('/upload_image', methods=['GET', 'POST'])
@login_required
def upload_image():
    if request.method == 'POST':
        files = request.files
        print files
    print 'hello world, you"re uploading image right NOWWNOWNWOW'
    return ('', 204)

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-06 13:02:08

Images.prototype.uploadDone将在上传完成时运行,它期望一个包含名为files的列表的JSON作为端点响应,此files列表中的每个文件都有一个URL。

现在,您将返回一个状态代码为204的空响应,您可以使用jsonify生成一个JSON响应,也可以完全忽略该错误。

JSONify示例

代码语言:javascript
复制
@bp.route('/upload_image', methods=['GET', 'POST'])
@login_required
def upload_image():
    if request.method == 'POST':
        files = request.files
        print files
    print 'hello world, you"re uploading image right NOWWNOWNWOW'
    return jsonify(files=[{url='', fileName='Something'}, ]), 204

这是一个包含静态数据的jsonify示例,其中第一个元素的url为空,第一个元素的fileName是一个名为tuple的列表中的内容,这应该可以很好地工作!

如果要生成动态jsonify响应,您可能需要阅读documentation => http://flask.pocoo.org/docs/1.0/api/#flask.json.jsonify中的此链接

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52192212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档