FantasyLQ 2023-02-03 14:59 采纳率: 0%
浏览 112
已结题

uniapp实现钉钉【发起审批实例】上传文件到钉盘,后端为C#.Net处理

img


这边按了文档要求先获取审批钉盘空间信息,获取spaceId。 然后再调用H5微应用上传附件到钉盘/从钉盘选择文件


uploadFile: function() {
                var that = this;
                uni.request({
                    data: {
                        userID: app.globalData.userID,
                        unionID: app.globalData.unionID,
                    },
                    url: app.globalData.rqurl +
                        '/InvoicingWeb/InvoicingController.aspx?method=getSpaceInfo',
                    success: function(res) {
                        var result = res.data;
                        if (result.isok) {
                            dd.biz.util.uploadAttachment({
                                image: {
                                    multiple: true,
                                    compress: true,
                                    max: 9,
                                    spaceId: result.obj
                                },
                                space: {
                                    corpId: app.globalData.corpId,
                                    spaceId: result.obj,
                                    isCopy: 1,
                                    max: 9
                                },
                                file: {
                                    spaceId: result.obj,
                                    max: 1
                                },
                                types: ["photo", "file"], //PC端支持["photo","file","space"]
                                onSuccess: function(result) {
                                    alert(result.data[0].fileId);
                                    that.infoData.annex.push({
                                        fileId: result.data[0].fileId,
                                        fileName: result.data[0].fileName,
                                        spaceId: result.data[0].spaceId,
                                        fileSize: result.data[0].fileSize,
                                        fileType: result.data[0].fileType,
                                    })
                                },
                                onFail: function(err) {
                                    alert(JSON.stringify(err));
                                    uni.hideLoading();
                                }
                            });
                            uni.hideLoading();
                        } else {
                            uni.showModal({
                                title: "提示",
                                content: result.remark,
                                showCancel: false,
                                confirmText: "确定"
                            });
                            uni.hideLoading();
                        }
                    }
                });
            },
public string getSpaceInfo()
    {
        Result rs = new Result();

        var userID = Request["userID"];
        var unionID = Request["unionID"];

        var api = getTokenAndTicket();

        //获取审批钉盘空间信息
        var spaceUrl = "https://oapi.dingtalk.com/topapi/processinstance/cspace/info?access_token=" + api["access_token"];
        var spaceJobject = PublicMethods.postRequest(spaceUrl, "user_id", userID);

        var space_Id = JObject.Parse(spaceJobject)["result"]["space_id"];

        rs.isok = true;
        rs.obj = space_Id;

        return JObject.FromObject(rs).ToString();
    }
    #endregion

上传图片跟文件都是显示

img

  • 写回答

2条回答 默认 最新

  • Telescope720 2023-02-03 15:43
    关注

    看到代码中有几个需要排查的地方:

    app.globalData.rqurl:这个值是从哪里获取的,是否正确?
    app.globalData.corpId:这个值是否正确?
    dd.biz.util.uploadAttachment:该方法是否执行成功?
    result.isok:该变量是否为 true?
    result.obj:该变量是否正确?
    rs.isok:该变量是否为 true?
    rs.obj:该变量是否正确?
    可以从这些方面入手排查。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月8日
  • 创建了问题 2月3日