dropzone基本使用
dropzone是一个实现拖拽上传文件的一个插件。
生成拖拽区域
1 <div style="width: 1078px;margin: 0 auto;border: 2px lightblue dashed;margin-top: 5px"> 2 <div style="color: #31b0d5;font-size: 18px;text-align: center;padding: 5px 0">上传证件照片</div> 3 <div style="padding-left: 14px;"> 4 <p style="font-size: 16px;color:darkgreen;font-weight: bolder">已上传文件</p> 5 <p id="error_msg" style="color: red"></p> 6 <table class="table table-hover" id="uploaded"> 7 <tr> 8 <td>文件名</td> 9 <td>文件大小</td> 10 <td>删除已上传文件</td> 11 </tr> 12 {% if enrollment_obj_upload %} 13 {% for i,v in condition.items %} 14 <tr class="file-row"> 15 <td>{{ i }}</td> 16 <td>{{ v }}字节</td> 17 <td> 18 <a href="{% url 'student_enrollment_upload_delete' enrollment_id %}?name={{ i }}">删除</a> 19 </td> 20 </tr> 21 {% endfor %} 22 {% else %} 23 暂时还没有上传文件... 24 {% endif %} 25 </table> 26 </div> 27 28 <form action="{% url 'student_enrollment_upload' enrollment_id %}" class="dropzone" 29 id="myAwesomeDropzone"> 30 <div class="fallback"> 31 <input name="file" type="file" multiple/> 32 </div> 33 </form> 34 </div>
生成js代码
1 <script src="/static/plugins/dropzone/dropzone.js"></script> 2 <script> 3 $(function () { 4 Dropzone.options.myAwesomeDropzone = false; 5 var myDropzone = new Dropzone("#myAwesomeDropzone"); 6 myDropzone.on("success", function (file, response) { 7 var response = JSON.parse(response) 8 if (!response.status) { 9 $("#error_msg").text(response.msg) 10 } else { 11 $("#uploaded").append("<tr class='file-row'><td>" + file.name + "</td><td>" + file.size + "字节</td> <td><a href=\"{% url 'student_enrollment_upload_delete' enrollment_id %}?name=" + file.name + "\">删除</a></td> </tr>") 12 } 13 }); 14 }) 15 16 17 18 Dropzone.options.myAwesomeDropzone = { 19 paramName: "file", // The name that will be used to transfer the file 20 maxFilesize: 2, // MB 21 maxFiles: 2, 22 }; 23 24 </script>
在使用dropzone时,需要导入dropzone.css和dropzone.js.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~