FastAdmin又拍云插件第三版,支持多文件上传

2024-05-10 09:18

本文主要是介绍FastAdmin又拍云插件第三版,支持多文件上传,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

JS代码

/*
又拍云插件--Power by Andiff  weixin:17191079694 QQ:165607361*/
(function (factory) {if (typeof define === 'function' && define.amd) {// AMD. Register as anonymous module.define(['jquery'], factory);} else if (typeof exports === 'object') {// Node / CommonJSfactory(require('jquery'));} else {// Browser globals.factory(jQuery);}
})(function ($) {'use strict';//常量var UPYUNURL = 'https://v0.api.upyun.com/andiffnet1';   //这里是又拍云请求地址//上传接口地址var BUCKET = 'andiffnet1';//Bucketvar FORMAPI = 'R1aPnbtDDGDwt+3xp+RGnsbFVq1RQ=';//formapivar SAVEPATH = 'ren';//保存文件的文件夹var URL = '/api/upyunupload/rentoupyun?savepath=';  //这里是控制器请求地址var ONLINEURL = 'https://qd.andiff.net/'; //这里换成你的又拍云地址var upyun = {//类似朋友圈上传多张图片uploadPicsByAjax:function(index,ul,dir){$.getJSON(URL+dir, function (data) {var uploadData = new FormData();uploadData.append('file', $('#files'+index)[0].files[0]);uploadData.append('policy', data.policy);uploadData.append('authorization', data.authorization);$.ajax({url: UPYUNURL,type: 'POST',data: uploadData,cache: false,processData: false,contentType: false,}).done(function(data, textStatus) {//alert(JSON.stringify(data));var body = jQuery.parseJSON(data);var img = '<img width="100%" src="'+ONLINEURL+body.url+'" />';img = img + '<img class="imgcommon" src="/images/cha.png" />';img = img + '<input type="hidden" name="row[picurl][]" value="'+body.url+'" />';img = img + '<span><input class="form-control" name="row[listorder][]" type="text" value="1" placeholder="顺序" /></span>';$("#"+ul+" li").eq(index).html(img);}).fail(function(res, textStatus, error) {try {var body = JSON.parse(res.responseText);alert('error: ' + body.message);} catch(e) {console.error(e);}});});},//普通的上传图片文件uploadByAjax: function (file1,show1,dir) {var filename = '';var fileextname = '';if(typeof($('#'+file1)[0].files[0].name)!='undefined'){filename = $('#'+file1)[0].files[0].name;fileextname = filename.split('.')[1];}var multiple = $('#'+file1).data('multiple');var arry = $('#'+file1).attr("accept").split(',');var inarray = $.inArray('.'+fileextname, arry);if(inarray==-1){alert('请上传'+arry.join()+'文件');return;}$.getJSON(URL+dir+'&ext='+fileextname, function (data) {var uploadData = new FormData();uploadData.append('file', $('#'+file1)[0].files[0]);uploadData.append('policy', data.policy);uploadData.append('authorization', data.authorization);$.ajax({url: UPYUNURL,type: 'POST',data: uploadData,cache: false,processData: false,contentType: false,}).done(function(data, textStatus) {var body = jQuery.parseJSON(data);if(multiple==true){var s = $("#"+show1).val();if(s==''){$("#"+show1).val(body.url);}else{$("#"+show1).val(s+','+body.url);}                        }else{$("#"+show1).val(body.url);}                   if(typeof($('#'+file1).attr("previewid"))!='undefined'){var preid = $('#'+file1).attr("previewid");var str = '';if(multiple==true){//多选str = str + $("#"+preid).html();}                       str = str + '<li class="col-xs-3">';str = str + '<a href="'+ONLINEURL+body.url+'" data-url="'+ONLINEURL+body.url+'" target="_blank" class="thumbnail">';str = str + '<img src="'+ONLINEURL+body.url+'" class="img-responsive" /></a>';str = str + '<a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>';str = str + '</li>';$("#"+preid).html(str);}$(document).on("click", "#" + preid + " .btn-trash", function () {var url = $(this).prev().attr('href').replace(ONLINEURL,"");                        var arry = $("#"+show1).val().split(',');var ss = '';for (var i = arry.length - 1; i >= 0; i--) {if(arry[i]!=url){ss = ss + arry[i] + ',';}}$("#"+show1).val(ss.substr(0,ss.length-1));$(this).closest("li").remove();});}).fail(function(res, textStatus, error) {try {var body = JSON.parse(res.responseText);alert('error: ' + body.message);} catch(e) {console.error(e);}});});},//summernote文字编辑器里面上传图片uploadForSummerNote: function (file1,show1) {$.getJSON(URL+'summernote', function (data) {var uploadData = new FormData();uploadData.append("file", file1);uploadData.append('policy', data.policy);uploadData.append('authorization', data.authorization);$.ajax({url: UPYUNURL,type: 'POST',data: uploadData,cache: false,processData: false,contentType: false,}).done(function(data, textStatus) {var body = jQuery.parseJSON(data);$("#"+show1).summernote('insertImage', ONLINEURL+body.url, 'image name');}).fail(function(res, textStatus, error) {try {var body = JSON.parse(res.responseText);alert('error: ' + body.message);} catch(e) {console.error(e);}});});},};return upyun;
});

HTML代码:

<div class="col-xs-12 col-sm-8"><div class="input-group"><input id="c-cdnimg" class="form-control" name="row[cdnimg]" type="text" value="" /><div class="input-group-addon no-border no-padding"><span><button type="button" id="plupload-imagecdnimg" class="btn btn-danger" data-input-id="c-cdnimg"><i class="fa fa-upload"></i>上传</button><div class="moxie-shim-html5"><input id="upyun_uploadcdnimg" class="upyun_upload" type="file" accept=".gif,.jpg,.jpeg,.tiff" tabindex="-1" previewid="p-cdnimg"  data-multiple="true"/></div></span></div><span class="msg-box n-right"></span></div><ul class="row list-inline plupload-preview" id="p-cdnimg"></ul> 
</div>

data-multiple="true" , 代表一次上传多张,其他代表一次上传一张。

调用代码:

$("#upyun_uploadcdnimg").bind('change',function(){UpYun.uploadByAjax('upyun_uploadcdnimg','c-cdnimg','andiffnet/test');
});

 

 

这篇关于FastAdmin又拍云插件第三版,支持多文件上传的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/976029

相关文章

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

一文教你解决Python不支持中文路径的问题

《一文教你解决Python不支持中文路径的问题》Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的... 目录问题背景解决方案1. 设置正确的文件编码2. 使用pathlib模块3. 转换路径为Unicod

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

Java文件上传的多种实现方式

《Java文件上传的多种实现方式》文章主要介绍了文件上传接收接口的使用方法,包括获取文件信息、创建文件夹、保存文件到本地的两种方法,以及如何使用Postman进行接口调用... 目录Java文件上传的多方式1.文件上传接收文件接口2.接口主要内容部分3.postman接口调用总结Java文件上传的多方式1

使用Python实现大文件切片上传及断点续传的方法

《使用Python实现大文件切片上传及断点续传的方法》本文介绍了使用Python实现大文件切片上传及断点续传的方法,包括功能模块划分(获取上传文件接口状态、临时文件夹状态信息、切片上传、切片合并)、整... 目录概要整体架构流程技术细节获取上传文件状态接口获取临时文件夹状态信息接口切片上传功能文件合并功能小

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona