【问题标题】:How do I show only 1 scaled image in fineuploader如何在 Fineuploader 中仅显示 1 个缩放图像
【发布时间】:2016-10-11 12:58:05
【问题描述】:

我想上传 2 张按比例缩放的图像,但不想上传原始图像。为此,我将 sendOriginal 设置为 false。如果我将 hideScaled 设置为 true,则上传程序中不会显示任何文件。如果将 set hideScaled 设置为 false,则两个缩放的图像都会显示在列表中。我意识到documentation 说不要以这种方式使用这两个选项。还有其他方法可以实现我想要的吗?无论有多少缩放图像,如何让fineuploader 在文件列表中只显示 1 个文件?

【问题讨论】:

  • 看起来标准的 Fine Uploader 选项不支持您希望实施的配置。您是否可以尝试在文件列表中的一个缩放图像上执行您自己的元素隐藏?也许通过查询该特定项目上的已知选择器?
  • 有什么方法可以在未来的版本中添加这个吗?除了具有 hideScaled 属性,您可以为每个尺寸添加一个 hide 属性吗?
  • 我不知道是否对此功能有很多需求,但我可以理解您为什么要让最终用户觉得只上传了一张图片。随时提交新的feature request,然后团队可以进一步调查。与此同时,我仍然认为您可以在 Fine Uploader 之外使用自己的 CSS/JS 来实现这一点。
  • 谢谢丹。我为此创建了一个新的feature request。我真的不明白为什么要显示所有缩放的图像或根本不显示任何图像,所以我不确定为什么没有需求。希望这个功能会被添加。

标签: fine-uploader


【解决方案1】:

我遇到了同样的问题。我还想重命名较大的比例以匹配原始文件名并传递自定义参数,以便服务器脚本可以根据比例大小将图像分类到数据库中。

我使用这种方法来替代 onScaled 事件。如果还有人感兴趣的话。

// Must be onSubmitted, not onSubmit or the DOM element won't be rendered yet.
onSubmitted : function(id, name) {

    // scaling.sizes.name = 'thumb'
    if (name.toLowerCase().lastIndexOf(' (thumb).jpg') !== -1) {

        // Hide the element displaying the thumbnail.
        qq(this.getItemByFileId(id)).hide();

        // Good place to include any custom parameters based on scale size.
        this.setParams({gpsize : 'thumb'}, id);
    }

    // scaling.sizes.name = 'large'
    else if (name.toLowerCase().lastIndexOf(' (large).jpg') !== -1) {

        this.setParams({gpsize : 'large'}, id);

        // If needed rename file in this event, not before, since filename
        // is the hackish hook needed to connect scale size to file id.
        var newName = name.slice(0, name.toLowerCase().lastIndexOf(' (large).jpg')) + '.jpg';
        this.setName(id, newName);
    }
    return true;
}

它并不完美,但它可以在不通过脚本文件的情况下完成工作。

【讨论】:

    猜你喜欢
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多