【问题标题】:How to set default image in dropify ? ( base64 image format )如何在 dropify 中设置默认图像? (base64图像格式)
【发布时间】:2021-04-14 10:44:58
【问题描述】:

我正在使用https://github.com/JeremyFagis/dropify 插件进行图片上传,如果已经为指定图片上传了文件,我希望<input /> 元素显示缩略图。

我发现 How to set default image in dropify using jquery and ajax only 可以工作,但是由于我从服务器获取以 base64 格式保存在数据库中的图像,因此此解决方案没有解决我的问题。

附言我正在使用 .Net Core mvc 和 Javascript/jQuery

@if (Model.Product.RequiredImagesCount >= 1)
    {
        <form action="@($"/PrintOrder/OrderImageUpload?orderId={Model.Id}&imagePosition=0")" method="post" class="form-horizontal" enctype="multipart/form-data">

            <input type="file" name="File" class="dropify" data-max-file-size="50M" data-show-remove="false" data-default-file="" onchange="SubmitForm($(this));" />

            <div class="progress progress-striped d-none">
                <div class="progress-bar progress-bar-success">0%</div>
            </div>
        </form>
    }

【问题讨论】:

标签: javascript html jquery asp.net-core-mvc dropify


【解决方案1】:

如何在 dropify 中设置默认图片? (base64图片格式)

要使用存储在数据库中的base64编码图像在dropify中设置默认图像,您可以参考以下方法。

<input type="file" name="File" class="dropify" data-max-file-size="50M" data-show-remove="false" data-default-file="" onchange="SubmitForm($(this));" />

JS 代码

$(function () {
    $('.dropify').dropify();

    resetPreview('File', 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4RI....',
        'Image.jpg');
})

function resetPreview(name, src, fname = '') {
    let input = $('input[name="' + name + '"]');
    let wrapper = input.closest('.dropify-wrapper');
    let preview = wrapper.find('.dropify-preview');
    let filename = wrapper.find('.dropify-filename-inner');
    let render = wrapper.find('.dropify-render').html('');

    input.val('').attr('title', fname);
    wrapper.removeClass('has-error').addClass('has-preview');
    filename.html(fname);

    render.append($('<img />').attr('src', src).css('max-height', input.data('height') || ''));
    preview.fadeIn();
}

测试结果

【讨论】:

  • this github issue 和以上@ruleboy21 共享的解决方案对我来说效果很好。
猜你喜欢
  • 2019-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-13
  • 1970-01-01
  • 2018-09-05
  • 1970-01-01
相关资源
最近更新 更多