用一下方法获取data值了之后。
dd.biz.util.uploadAttachment({ image:{multiple:true,compress:false,max:9,spaceId: "12345"}, space:{corpId:"xxx3020",spaceId:"12345",isCopy:1 , max:9}, file:{spaceId:"12345",max:1}, types:["photo","camera","file","space"],//PC端支持["photo","file","space"] onSuccess : function(result) { //onSuccess将在文件上传成功之后调用 /* { type:'', // 用户选择了哪种文件类型 ,image(图片)、file(手机文件)、space(钉盘文件) data: [ { spaceId: "232323", fileId: "DzzzzzzNqZY", fileName: "审批流程.docx", fileSize: 1024, fileType: "docx" }, { spaceId: "232323", fileId: "DzzzzzzNqZY", fileName: "审批流程1.pdf", fileSize: 1024, fileType: "pdf" }, { spaceId: "232323", fileId: "DzzzzzzNqZY", fileName: "审批流程3.pptx", fileSize: 1024, fileType: "pptx" } ]
}
*/
},
onFail : function(err) {}
});
创建审批实例时怎么上传附件。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在创建审批实例时上传附件,通常涉及调用特定平台或系统的API来处理文件上传逻辑。根据您提供的代码片段,这似乎是针对钉钉(DingTalk)平台的文件上传操作,使用了dd.biz.util.uploadAttachment
方法。这个方法允许用户从多种来源(如相册、相机、本地文件、钉盘)选择文件,并在成功上传后通过回调函数onSuccess
获取文件信息。
确保权限与环境:首先,确保你的应用有权限访问用户的钉盘和进行文件上传操作。这通常需要在钉钉开放平台对你的应用进行相应的权限配置。
上传附件:你已经展示了如何调用上传附件的方法。关键在于理解onSuccess
回调中的数据结构,然后利用这些数据去创建审批实例时作为附件引用。
创建审批实例:在onSuccess
回调中,你获得了上传成功的文件信息数组。接下来,你需要使用钉钉开放平台提供的API来创建一个审批实例,并将这些文件信息作为附件添加进去。这通常涉及到构造一个包含审批流定义、表单字段值以及附件信息的请求体。
以下是一个简化的示例流程:
// 假设result是uploadAttachment调用后返回的数据
onSuccess : function(result) {
// 获取上传成功的文件数据
var attachments = result.data;
// 准备审批实例创建所需的数据
var approvalData = {
// 审批流的唯一标识,需替换为实际的审批流ID
"processCode": "YOUR_PROCESS_CODE",
// 审批实例的相关表单字段值,根据实际情况填写
"formComponentValues": [
// 示例:一个表单项的值
{"name": "fileDescription", "value": "附件描述"},
// 其他表单项...
],
// 附件信息,使用上传成功后的文件信息
"attachments": attachments.map(function(file) {
return {
"spaceId": file.spaceId,
"fileId": file.fileId,
"fileName": file.fileName
};
})
};
// 调用钉钉API创建审批实例
dd.api.request({
"url": "https://oapi.dingtalk.com/topapi/processinstance/create",
"method": "POST",
"data": JSON.stringify(approvalData),
"headers": {"Content-Type": "application/json"},
onSuccess: function(createResult) {
if (createResult.errcode === 0) {
console.log("审批实例创建成功");
// 可以进一步处理创建成功的响应,如跳转到审批详情页面等
} else {
console.error("创建审批实例失败:", createResult.errmsg);
}
},
onFail: function(err) {
console.error("请求失败:", err);
}
});
}
请注意,上述代码仅为示例,实际使用时需要替换YOUR_PROCESS_CODE
为你的审批流ID,并且确保钉钉开放平台的应用拥有必要的接口调用权限。此外,具体的API路径、参数格式及错误码处理请参考最新的钉钉开放平台文档。