首页 > 其他分享 >layui 上传图片文件到钉钉服务器

layui 上传图片文件到钉钉服务器

时间:2022-12-09 14:02:45浏览次数:61  
标签:上传 rsp layui upload file 服务器 type


layui上传

  • ​​layui版本​​
  • ​​项目引入​​
  • ​​页面引入​​
  • ​​java后台接收​​
  • ​​参考文献​​

layui版本

首先先下载layui-2.5.6.zip包,解压后选择自己用到的文件放入项目中。

项目引入

我的项目中只用到了upload功能,其他未使用,所以引入如下:

layui 上传图片文件到钉钉服务器_layui

页面引入

layui 上传图片文件到钉钉服务器_ide_02


layui 上传图片文件到钉钉服务器_html_03


具体页面代码如下add.html

<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增钉钉工作通知消息模板')" />
<link href="../static/layui/layui.css" th:href="@{/layui/layui.css}" rel="stylesheet"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-msgTemplet-add">
<div class="form-group">
<label class="col-sm-3 control-label"><span style="color: red">*</span>模板名称:</label>
<div class="col-sm-8">
<input id="templetName" name="templetName" class="form-control" type="text" th:required="true">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"><span style="color: red">*</span>模板类型:</label>
<div class="col-sm-8">
<select id="templetType" name="templetType" class="form-control m-b" required onchange="showBtn()">
<option value="text">文本</option>
<option value="image">图片</option>
<option value="file">文件</option>
</select>
</div>
</div>
<div class="form-group hide" id="uploadbtn">
<label class="col-sm-3 control-label"><span style="color: red">*</span>媒体文件:</label>
<div class="col-sm-8">
<button type="button" class="layui-btn" id="uploadfile">上传文件</button>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"><span style="color: red">*</span>模板内容:</label>
<div class="col-sm-8">
<textarea id="content" name="content" class="form-control" type="text" th:required="true" ></textarea>
</div>
</div>
</form>
</div>
<div th:include="include::footer"></div>
<script src="../static/layui/layui.js" th:src="@{/layui/layui.js}"></script>
<script type="text/javascript">

var prefix = ctx + "project/msgTemplet";

layui.use('upload', function(){
var upload = layui.upload;
//执行实例
uploadInst = upload.render({
elem: '#uploadfile' //绑定元素
});
});

function showBtn() {
var type = $("#templetType").val();
if (type == "image" || type == "file") {
$("#content").attr("readonly",true);
$("#uploadbtn").removeClass('hide');

uploadInst.reload({
elem: '#uploadfile' //绑定元素
,url: prefix + '/upload/' //上传接口
,data: {type: type}
,accept:'file'
,done: function(res){
//上传完毕回调
if (res.code == 0) {
$("#content").val(res.data);
layer.msg(res.msg);
}else {
layer.msg(res.msg);
}
}
,error: function(){
//请求异常回调
layer.msg('上传失败!');
}
});

}else {
$("#content").attr("readonly",false);
$("#uploadbtn").addClass('hide');
}
}

$("#form-msgTemplet-add").validate({
rules:{
xxxx:{
required:true,
},
},
focusCleanup: true
});

function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-msgTemplet-add').serialize());
}
}
</script>
</body>
</html>

页面效果如下

layui 上传图片文件到钉钉服务器_上传_04

java后台接收

layui 上传图片文件到钉钉服务器_上传_05


代码如下:controller代码

@RequestMapping( "/upload")
@ResponseBody
public AjaxResult upload(MultipartFile file,HttpServletRequest request)
{
try {
String type = request.getParameter("type");
OapiMediaUploadResponse rsp = dingDingService.uploadMedia(type,file);
if (rsp.isSuccess()) {
return new AjaxResult(AjaxResult.Type.SUCCESS,"上传成功!",rsp.getMediaId());
}else {
return new AjaxResult(AjaxResult.Type.ERROR,rsp.getErrmsg());
}

} catch (Exception e) {
e.printStackTrace();
}
return error();
}

service代码:

/**
* 调用钉钉上传文件
* (1) 图片(image):1MB,支持JPG格式
* (2)语音(voice):2MB,播放长度不超过60s,AMR格式
* (3)普通文件(file):10MB
* @param type 文件类型 image file (voice暂不支持)
* @param file 文件
* @return
*/
@Override
public OapiMediaUploadResponse uploadMedia(String type, MultipartFile file) {
try {
//获取企业凭证 access_token
String accessToken = getAccessToken();
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/media/upload");
OapiMediaUploadRequest req = new OapiMediaUploadRequest();
req.setType(type);
req.setMedia(new FileItem(file.getOriginalFilename(),file.getInputStream()));
OapiMediaUploadResponse rsp = client.execute(req, accessToken);
return rsp;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

这里的上传是调用钉钉服务上传文件

参考文献

​layui文档​​​​钉钉开发文档​


标签:上传,rsp,layui,upload,file,服务器,type
From: https://blog.51cto.com/u_10917175/5925144

相关文章

  • layui时间控件 laydate 重置失效
    layui时间控件laydate重置失效​​问题描述​​​​页面代码​​​​问题处理​​问题描述layui日期控件laydate引入页面后,页面开始时间小于结束时间,结束时间最大为当前时......
  • 阿里云服务器ECS基本操作指南
    阿里云服务器ECS基本操作指南​​开通阿里云服务ECS​​​​创建实例​​​​Xshell通过SSH远程连接云服务器ECS​​​​云服务ECS使用文档​​开通阿里云服务ECS阿里云账......
  • IBM、dell、hp、lenovo服务器故障报修、技术支持、服务器保修时间查询地址、电话...
    最近机房服务器硬件故障率有点高,经常需要查询服务器保修相关的信息。对相关资料做了一下统计,方便以后使用:1:DELL服务器:PowerEdge服务器:服务时间:周一至周日全天询服务电话:......
  • c# 大文件分片上传处理
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传......
  • 记.net framework php接口 返回数据格式问题 请求接口远程服务器返回错误: (500) 内
    .netframework框架请求时候php接口这边返回exit(json_encode(['code'=>200,'data'=>$tokenData]));.net报错 请求接口远程服务器返回错误:(500)内部服务器错误而......
  • ipa上传到APP store​
     在itunes中创建程序​打开​​https://itunesconnect.apple.com/​​(membercenter中也可以找到)选择"ManageYourApplications":​​​​​​ 点击"AddNewApp",......
  • 2022最新上传ipa到appstore的步骤说明​
    我们平时在开发原生的iosapp的时候,有苹果电脑在手,上传ipa文件到苹果开发者中心比较简单,直接在xcode上就可以实现了。​但是现在大多数人开发app不再是用原生框架开发了,也没......
  • 每日一抄 Go语言聊天服务器
    server.gopackagemainimport( "bufio" "fmt" "log" "net")/*服务端程序中包含4个goroutine,分别是一个主goroutine和广播(broadcaster)goroutine,每一个连接......
  • 腾讯企业邮箱imap/pop3/smtp服务器信息(用于客户端)
    腾讯企业邮箱支持pop/imap/exchange协议从邮件服务器上获取邮件的信息、下载邮件等。IMAP/SMTP协议接收邮件服务器:imap.exmail.qq.com,使用SSL,端口号993发送邮件......
  • asp.net 大文件分片上传处理
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好......