반응형
Javascript/HTML을 이용한 간단한 이미지 업로드 방법
간단한 이미지 업로드를 해서 페이지에 표시하는 방법을 아는 사람이 있습니까?
이것이 제가 찾고 있는 것입니다.
- 사용자(나)가 이미지를 선택합니다.
- 페이지를 새로 고치거나 다른 파일로 이동하지 않고 이미지가 표시됩니다.
- 다중의
<img src>다른 이미지 크기를 표시해야 하므로 괜찮습니다.
이건 내 코드였어요(일부는 편집되어 있습니다. 여기서 가져왔습니다.)
<style>
/* Image Designing Propoerties */
.thumb {
height: 75px;
border: 1px solid #000;
margin: 10px 5px 0 0;
}
</style>
<script type="text/javascript">
/* The uploader form */
$(function () {
$(":file").change(function () {
if (this.files && this.files[0]) {
var reader = new FileReader();
reader.onload = imageIsLoaded;
reader.readAsDataURL(this.files[0]);
}
});
});
function imageIsLoaded(e) {
$('#myImg').attr('src', e.target.result);
$('#yourImage').attr('src', e.target.result);
};
</script>
<input type='file' />
</br><img id="myImg" src="#" alt="your image" height=200 width=100>
다음은 jQuery가 없는 간단한 예입니다.사용, 어느 것
매개 변수에 지정된 개체를 나타내는 URL을 포함하는 DOMString을 만듭니다.
그런 다음 간단히 설정할 수 있습니다.src해당 URL에 대한 이미지:
window.addEventListener('load', function() {
document.querySelector('input[type="file"]').addEventListener('change', function() {
if (this.files && this.files[0]) {
var img = document.querySelector('img');
img.onload = () => {
URL.revokeObjectURL(img.src); // no longer needed, free memory
}
img.src = URL.createObjectURL(this.files[0]); // set src to blob url
}
});
});
<input type='file' />
<br><img id="myImg" src="#">
<img id="output_image" height=50px width=50px\
<input type="file" accept="image/*" onchange="preview_image(event)">
<script type"text/javascript">
function preview_image(event) {
var reader = new FileReader();
reader.onload = function(){
var output = document.getElementById('output_image');
output.src = reader.result;
}
reader.readAsDataURL(event.target.files[0]);
}
</script>
사용해보세요. 다중 파일 업로드를 지원합니다.
$('#multi_file_upload').change(function(e) {
var file_id = e.target.id;
var file_name_arr = new Array();
var process_path = site_url + 'public/uploads/';
for (i = 0; i < $("#" + file_id).prop("files").length; i++) {
var form_data = new FormData();
var file_data = $("#" + file_id).prop("files")[i];
form_data.append("file_name", file_data);
if (check_multifile_logo($("#" + file_id).prop("files")[i]['name'])) {
$.ajax({
//url : site_url + "inc/upload_image.php?width=96&height=60&show_small=1",
url: site_url + "inc/upload_contact_info.php",
cache: false,
contentType: false,
processData: false,
async: false,
data: form_data,
type: 'post',
success: function(data) {
// display image
}
});
} else {
$("#" + html_div).html('');
alert('We only accept JPG, JPEG, PNG, GIF and BMP files');
}
}
});
function check_multifile_logo(file) {
var extension = file.substr((file.lastIndexOf('.') + 1))
if (extension === 'jpg' || extension === 'jpeg' || extension === 'gif' || extension === 'png' || extension === 'bmp') {
return true;
} else {
return false;
}
}
여기서 #multi_file_upload는 이미지 업로드 필드의 ID입니다.
<li class="list-group-item active"><h5>Feaured Image</h5></li>
<li class="list-group-item">
<div class="input-group mb-3">
<div class="custom-file ">
<input type="file" class="custom-file-input" name="thumbnail" id="thumbnail">
<label class="custom-file-label" for="thumbnail">Choose file</label>
</div>
</div>
<div class="img-thumbnail text-center">
<img src="@if(isset($product)) {{asset('storage/'.$product->thumbnail)}} @else {{asset('images/no-thumbnail.jpeg')}} @endif" id="imgthumbnail" class="img-fluid" alt="">
</div>
</li>
<script>
$(function(){
$('#thumbnail').on('change', function() {
var file = $(this).get(0).files;
var reader = new FileReader();
reader.readAsDataURL(file[0]);
reader.addEventListener("load", function(e) {
var image = e.target.result;
$("#imgthumbnail").attr('src', image);
});
});
}
</script>
언급URL : https://stackoverflow.com/questions/22087076/how-to-make-a-simple-image-upload-using-javascript-html
반응형
'programing' 카테고리의 다른 글
| apt-get과 함께 설치되었음에도 도커 명령을 찾을 수 없습니다. (0) | 2023.08.31 |
|---|---|
| 로컬 호스트에 대해 신뢰할 수 있는 자체 서명 SSL 인증서 생성(Express/Node와 함께 사용) (0) | 2023.08.31 |
| Mysql/Mariadb에서 중첩된 Json 업데이트 (0) | 2023.08.31 |
| zabbix를 원격 DB에 연결하는 중 문제 발생 (0) | 2023.08.31 |
| Android 4.4(KitKat)의 Android Gallery는 Intent에 대해 다른 URI를 반환합니다.작업_GET_Content (0) | 2023.08.31 |