在 Opencart 的产品页面预览上传的图片
Preview the uploaded image in product page in Opencart
我正在使用 Opencart 版本 2.0.3.1。
客户可以在产品页面上传 image (upload file option)
。我想 preview the uploaded image
在同一页。上传的图像保存到 system/upload
文件夹并用文件名 + 一些字符串重命名。
如何预览上传的图片。
文件上传按钮代码为:(catalog/view/theme/default/template/product.product.tpl)
<?php if ($option['type'] == 'file') { ?>
<div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
<label class="control-label"><?php echo $option['name']; ?></label>
<button type="button" id="button-upload<?php echo $option['product_option_id']; ?>" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-default btn-block"><i class="fa fa-upload"></i> <?php echo $button_upload; ?></button>
<input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" id="input-option<?php echo $option['product_option_id']; ?>" />
</div>
<?php } ?>
不是最佳解决方案,但您可以试试这个。
添加
<img id="filePreview" style="display:none;">
之后
<?php if ($option['type'] == 'file') { ?>
添加
var ref = '';
$(document).on('change','input[name="file"]',function(){
ref = this;
});
之前
$('button[id^=\'button-upload\']').on('click', function() {
在ajax文件上传请求中,在成功函数中添加这个
if (json['error']) {
ref = '';
$(node).parent().find('input').after('<div class="text-danger">' + json['error'] + '</div>');
}
if (json['success']) {
alert(json['success']);
showImagePreview(ref);
$(node).parent().find('input').attr('value', json['code']);
}
节目预览功能为
function showImagePreview(input){
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#filePreview').attr('src',e.target.result);
$('#filePreview').show();
}
reader.readAsDataURL(input.files[0]);
}
}
希望它会起作用:)
我正在使用 Opencart 版本 2.0.3.1。
客户可以在产品页面上传 image (upload file option)
。我想 preview the uploaded image
在同一页。上传的图像保存到 system/upload
文件夹并用文件名 + 一些字符串重命名。
如何预览上传的图片。
文件上传按钮代码为:(catalog/view/theme/default/template/product.product.tpl)
<?php if ($option['type'] == 'file') { ?>
<div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
<label class="control-label"><?php echo $option['name']; ?></label>
<button type="button" id="button-upload<?php echo $option['product_option_id']; ?>" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-default btn-block"><i class="fa fa-upload"></i> <?php echo $button_upload; ?></button>
<input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" id="input-option<?php echo $option['product_option_id']; ?>" />
</div>
<?php } ?>
不是最佳解决方案,但您可以试试这个。
添加
<img id="filePreview" style="display:none;">
之后
<?php if ($option['type'] == 'file') { ?>
添加
var ref = '';
$(document).on('change','input[name="file"]',function(){
ref = this;
});
之前
$('button[id^=\'button-upload\']').on('click', function() {
在ajax文件上传请求中,在成功函数中添加这个
if (json['error']) {
ref = '';
$(node).parent().find('input').after('<div class="text-danger">' + json['error'] + '</div>');
}
if (json['success']) {
alert(json['success']);
showImagePreview(ref);
$(node).parent().find('input').attr('value', json['code']);
}
节目预览功能为
function showImagePreview(input){
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#filePreview').attr('src',e.target.result);
$('#filePreview').show();
}
reader.readAsDataURL(input.files[0]);
}
}
希望它会起作用:)