开发者社区> 问答> 正文

多媒体接口中文件命名问题

今天使用了开发者文档中“上传媒体文件接口”,使用方法比较简单,我们使用python开发,这部分代码大致如下:

def upload_file():
    url = 'https://oapi.dingtalk.com/media/upload?access_token=xxx&type=file'
    files = {
        'media': (
            'test.csv',
            open('/home/xxx/Downloads/test.csv', 'rb'),
            'multipart/form-data'
        )
    }
    r = requests.post(url, files=files)
    return r.text


接口调用成功,获取到了media_id,然后我调用“发送企业会话消息接口” ,发送了一个file消息,其中的media_id就是使用上面获取到的,这个时候钉钉客户端收到消息为”lAjOBJSG-c53aXp9zhKPaR0.file”(上传图片没成功,将就下),我在ios端打开直接跳转到safari打开了,而且文件类型不正确,显示也不太对。这里的问题就是如何让文件正确显示文件名?
我看到客户端自带的日志应用发送了一个excel,后缀名就是.xls,打开显示就很正常。
希望钉钉的同学们能够帮忙解答一下,谢谢!

展开
收起
qurioust 2015-12-15 12:49:20 7001 0
5 条回答
写回答
取消 提交回答
  • Re多媒体接口中文件命名问题
    如果你的文件类型不是图片(image)、语音(voice),又想下载后可以直接打开,我觉得这个你可能需要你自己另外做个网页接口,先在网站服务端将这个文件下载,然后再输出给用户,输出的时候,自己制定文件格式,官方只能识别图片(image)、语音(voice),看到demo里好像视频也支持,其他的官方统一为file
    2015-12-23 11:34:14
    赞同 展开评论 打赏
  • 需求是上传文件test.csv,下载时实际显示lAjOBJSG-c53aXp9zhKPaR0.file,希望显示test.csv吗?如果是的话,这个在排期中,请关注文档更新
    2015-12-23 11:24:27
    赞同 展开评论 打赏
  • Re多媒体接口中文件命名问题
    你的media_id为什么后面会有一个.file的后缀?.file的后缀不是一个文件类型啊?你把.file去掉试试。

    -------------------------

    Re多媒体接口中文件命名问题
    我们这边生成的media_id是没有后缀名的,你再确认下这个后缀名是不是你们代码什么地方加上的。

    -------------------------

    Re多媒体接口中文件命名问题
    恩,麻烦你把 "发送企业会话消息接口" 这块代码贴出来看看。
    2015-12-15 14:04:57
    赞同 展开评论 打赏
  • 回 1楼君信的帖子
    type字段改成什么?图片(image)、语音(voice)、普通文件(file)哪一个?

    -------------------------

    回 3楼识器的帖子
    我并没有加.file,是我调用接口后生成的文件有.file后缀名。

    -------------------------

    回 3楼识器的帖子
    我就是想问为什么我的后缀名会是.file,导致我的文件没法正常打开。

    -------------------------

    回 6楼识器的帖子
    你可能理解错了,我的media_id并没有写出来啊,写出来的那个是文件名,我的media_id是"@lAjOBJSZ_c4EQ2EzzhfVVFk"。

    -------------------------

    回 8楼识器的帖子
    这个图片怎么上传的?没找到方法

    -------------------------

    回 8楼识器的帖子
    我用的postman发送的请求

    https://oapi.dingtalk.com/message/send?access_token=8eae5cd0b4453a468d50cb84a4b43eb3

    {
      "touser": "manager9675",
      "toparty": "",
      "agentid": "7486166",
      "msgtype": "file",
      "file": {
          "media_id": "@lAjOBJSZ_c4EQ2EzzhfVVFk"
      }
    }
    2015-12-15 13:34:25
    赞同 展开评论 打赏
  • 你把Type字段改一下呢
    2015-12-15 13:17:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
内容驱动游戏分发 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载