В _form я должен загрузить несколько фотографий, и все работает нормально, но что не хватает, когда я выбираю свой снимок, я хочу просмотреть это изображение на странице (перед сохранением и пока я вставляю данные), поэтому я пытался получить полный путь к этой картине, чтобы поместить ее в изображение src.
То, что я уже сделал, показывает эту картинку в Edit, но я хочу просмотреть эту картинку в форме создания.
Вот некоторые из моего кода.
<div class="row">
<?php echo $form->labelEx($model, 'screenshot2'); ?>
<?php
if (!empty($model->app_name)){
echo "<img src='/apps/$model->app_name/$model->app_name" . "_2.jpg'
width=100px height=80px style='float:left' />
<div style='clear:both'></div>";
}
?>
<?php echo $form->fileField($model, 'screenshot2');
//i want to put the image here
print_r($model->image);//This shows the picture name not the path
?>
<?php echo $form->error($model, 'screenshot2'); ?>
</div>
Любая помощь с получением пути или другим способом сделать это будет оценена, потому что я не нашел.
Я предполагаю, что вы хотите отобразить "предварительный просмотр" изображения, как только в файле будет выбран некоторый файл.
<?php echo $form->fileField($model, 'screenshot2', array('id' => 'screenshot2')); ?>
<img id="preview" src="" />
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script>
(function(){
$('#screenshot2').on('change', function(evt){
if (0 < evt.target.files.length) {
// get file object which is seled by user
var _image = evt.target.files[0];
var _reader = new FileReader();
_reader.onload = function(evt) {
$('#preview').attr('src', evt.target.result);
};
_reader.readAsDataURL(_image);
} else {
$('#preview').attr('src', null);
}
});
})();
</script>