thinkpHP 는 ajax 비동기 로 그림 을 업로드 하고 표시,삭제 하 는 예제 입 니 다.
원본 파일 업로드 처 리 를 이용 하여 원본 js 문 구 를 통 해 업로드 사진 을 실시 간 으로 표시 할 수 있 지만 이렇게 하면 많은 호 환 문제 가 발생 할 수 있 습 니 다.ajax 기술 을 사용 하여 선택 한 그림 을 선택 적 으로 삭제 하 는 기능 을 실현 합 니 다.호 환 문제 가 없습니다.
폼 파일 form:
<form method="post" enctype="multipart/form-data">
<div style="margin: 20px 20px 20px 10px;">
:
<span id="img-list-box" style="margin-left: 25px;"></span>
<span style="display:inline-block;height: 30px;position: relative;top:0px;left:0px;">
<a style="display: inline-block;width: 100px;height:30px;line-height: 30px;text-align:center;background: #F60;color: #FFF;"> </a>
<input type="file" name="img_src" style="width: 100px;border: 1px solid red;position: absolute;top:0px;left: 0px;height: 30px;opacity: 0;" id="up-img-file" onchange="upimg(this)">
</span>
</div>
</form>
Ajax 요청 을 보 내야 합 니 다.물론 폼 은 우리 의 요 구 를 실현 할 수 없습니다.따라서 폼 에 이 벤트 를 누 르 면 Ajax 요청 을 하고 그림 을 선택 할 수 있 습 니 다.우리 가 사진 업로드 버튼 을 눌 렀 을 때 선택 한 그림 을 터치 하여 Ajax 업 로드 를 실현 합 니 다.
JavaScript 코드:
<script type="text/javascript" src="__STATIC__/home/js/jquery.min.js"></script>
<script type="text/javascript">
function upimg(obj)
{
if( obj.value == "" ) {
return;
}
var formdata = new FormData();
//<input type="file" name="img" value="" />
formdata.append("img" , $(obj)[0].files[0]);//
$.ajax({
type : 'post',
url : '/home/note/upimg', //
data : formdata,
cache : false,
processData : false, // , data Formdata ,
contentType : false, // Content-type
success : function(response){
console.log(response);
var html = '<div style="position: relative;margin-right: 20px;margin-bottom: 15px;width: 132px;display: inline-block;border: 1px solid #CCC;background:#EEE;">'
+'<span style="display: block;width: 120px;height: 80px;border: 1px solid #F2F1F0;margin: 5px;overflow: hidden;">'
+'<img src="'+response+'" style="width: 100%;" />'
+'</span>'
+'<input type="hidden" name="imgs[]" value="'+response+'" />'
+'<a onclick="delImg(this);" style="z-index: 10;display: block;top: -8px;cursor:pointer;right: -8px;position:absolute;width: 20px;height: 20px;background: #CCC;border-radius:100%;text-align:center;line-height: 20px;border: 1px solid #C1C1C1;color: #555;">X</a>'
+'</div>';
$('#img-list-box').append(html);
},
error : function(){ }
});
}
function delImg(obj)
{
$(obj).parent('div').remove();
}
</script>
그림 선택 을 누 르 면 서버 에 맡 깁 니 다.php 인터페이스 파일:
public function upimg()
{
//
$file = request()->file('img');
// /public/uploads/
if($file){
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
if($info){
//
$img_src = '/uploads/'.$info->getSaveName();
echo $img_src; // ajax
}else{
//
$this->error($file->getError());
}
}
}
개 선 된 효과 도:이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thinkpHP 는 ajax 비동기 로 그림 을 업로드 하고 표시,삭제 하 는 예제 입 니 다.최근 tp5 를 공부 하 는 과정 에서 프로젝트 에 포 스 팅 기능 이 있어 테마 그림 을 선택 합 니 다.다음 과 같다. 원본 파일 업로드 처 리 를 이용 하여 원본 js 문 구 를 통 해 업로드 사진 을 실시 간...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.