我正在使用https://github.com/JeremyFagis/dropify插件进行图像上传,并希望<input />元素显示一个缩略图,如果已经有一个文件上传到指定的图像。
我已经发现How to set default image in dropify using jquery and ajax only可以工作,但是当我从服务器获得以base64格式保存在数据库中的图像时,这个解决方案并没有解决我的问题。
附注:我正在使用.Net Core和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>
}发布于 2021-04-15 05:09:06
如何设置默认图像?( base64图像格式)
若要使用存储在数据库中的base64编码图像设置默认图像,请参考以下方法。
<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();
}测试结果

https://stackoverflow.com/questions/67090201
复制相似问题