Thinkphp整合uploadifive进行动态参数传递,内容列表按钮实现一键上传文件
兜兜转转又回到TP了。。有大几年都在用CI写项目,最近回到TP来,项目中有一个功能花了点时间,特分享出来。
就是,后台内容列表里每一条记录都放一个按钮,可以快速进行文件上传(不需要点击编辑进入详情再上传),就想到了以前用过的uploadify,但由于办公室多数同事都用MAC,则uploadifive更合适。
废话不多说,上代码:
第一步,加载jquery.js/uploadifive.js/uploadifive.css
第二步,构建HTML列表:<table>
<br>
<tr>
<td>商品名称1</td>
<td><input></td>
</tr>
<br>
<tr>
<td>商品名称2</td>
<td><input></td>
</tr>
<br>
</table>
<br>
<div></div>
참고: 이 코드는 백엔드 제품 목록을 모방하며 실제 템플릿은 루프여야 합니다. 각 줄에는 단일 페이지에 여러 개의 업로드가 있으므로 클래스 이름은 .uploadifive가 사용되며(ID 이름은 사용할 수 없음) 나중에 사용할 수 있도록 콘텐츠 ID가 파일 컨트롤에 기록됩니다.
세 번째 단계는 템플릿에 JS 코드를 작성하는 것입니다.
<script>$(function(){<code class="prettyprint linenums lang-php">
$('.uploadifive').uploadifive({<br />
'auto' : true, //자동 업로드<br />
'너비' : '80px', //버튼 너비<br />
'height' : '20px', //버튼 높이<br />
'uploadScript' : '/Index/uploadifive', //업로드 방법<br />
'fileObjName' : 'mp3',<br />
'buttonText' : '업로드',<br />
'queueID' : 'process', //큐의 ID 표시<br />
'파일 유형': '*.mp3',<br />
'다중' : 거짓,<br />
'fileSizeLimit' : '5MB',<br />
'uploadLimit' : 1,<br />
'removeTimeout' : 0,<br />
'queueSizeLimit' : 1,<br />
'removeCompleted' : true, //업로드 완료 후 자동으로 목록 숨기기<br />
| ~
'onAddQueueItem' : 함수(파일){<br />
This.data('uploadifive').settings.formData = {'id':$(this).data('id')} //동적 매개변수 메서드 전달<br />
},<br />
'onUploadComplete' : 함수(파일, 데이터){<br />
var obj = JSON.parse(data);<br />
If (obj.status == '성공'){<br />
layer.msg('업로드 성공!',{icon:1,time:1500},function(){<br />
window.location.reload();<br />
});<br />
그 외 {<br />
layer.msg("업로드 실패!",{icon:2});<br />
}<br />
},<br />
onCancel: 함수(파일){<br />
$data
설정 = $data.settings;<br />
Settings.uploadLimit++;<br />
layer.msg(file.name + "업로드 취소됨~",{icon:2});<br />
},<br />
});<br />
});<br /></script>설명: 이 코드가 핵심입니다. 콘텐츠 ID를 얻는 데 시간이 좀 걸리기 때문입니다. 국내 모든 자료가 매개변수를 동적으로 전송하지 못하고 모두 엉망이 된 것을 발견했습니다. 벽을 극복하고 구글에 가서 1분도 안되서 해결했어요~ uploadifive에서 동적으로 전달되는 매개변수는 jquery 구문을 사용하여 onAddQueueItem에서 정의할 수 있고, 여러 개의 매개변수를 정의할 수 있습니다.
4단계: 컨트롤러에서 uploadifive 메소드를 생성합니다. 업로드 코드는 ThinkPHP에서 직접 제공할 수 있습니다. 업로드가 성공한 후 해당 상태를 onUploadComplete 메소드에 반환하는 것이 매우 편리합니다. 템플릿 JS. 실제 프로젝트의 구현 로직은 다르기 때문에 여기에 있는 코드는 직접 작성하실 수 없습니다.
5단계: 이제 그만~
요약: 1. 이 루틴은 uploadifive HTML5 업로드 플러그인을 사용합니다. 이 버전은 저작권 문제로 인해 게시하지 않습니다. 직접 사용해 볼 수 없으면 비공개로 보내주세요. 메시지를 보내 이메일로 보내세요.
2. 이 루틴은 자동 업로드를 사용하므로 콘텐츠 ID를 얻는 것이 핵심입니다.
3. 이 예제도 레이어 플러그인을 사용합니다. 꼭 사용해야 한다면 다운로드하여 헤더에 로드해야 합니다.
좋아요, 이 글의 요점은 uploadifive의 동적 매개변수 전송이라는 점을 인정합니다. 저와 같은 문제에 직면한 사람들이 우회와 시간 낭비를 피하기 위해 이 글을 찾을 수 있기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨주세요. 주의하겠습니다~~

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

Dreamweaver Mac版
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
