刘紫旌
刘紫旌
  • 发布:2021-03-01 20:40
  • 更新:2021-03-02 20:34
  • 阅读:1099

求助,在uniCloud云函数中如何在发起请求时携带视频的二进制内容

分类:uniCloud

最近在开发抖音openapi,在云函数中携带视频的二进制内容提交到抖音api,研究了好几天怎么都提交不上去,如果在前端使用uni.uploadFile上传则是没有问题,问题出在nodejs只能把视频转成buffer,但是抖音只接受二进制,研究了很久也无法转换。

let uploadTask = uni.uploadFile({   //这样是没问题的  
                    url: url, //接口地址  
                    filePath: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-7b160139-5479-45a7-947b-655f922c0bc2/80a38803-a522-4270-81a7-d7b1283bb727.mp4',  
                    name: 'video',  
                    formData: {  
                        "Content-Type": "video/mp4",  
                    },  
                    complete(e) {  
                        console.log(e)  
                    }  
                })

node只能传输buffer无法转成二进制我哭了呀 下面是云函数 是有问题的

let mp4 = 'http://vkceyugu.cdn.bspapp.com/VKCEYUGU-7b160139-5479-45a7-947b-655f922c0bc2/80a38803-a522-4270-81a7-d7b1283bb727.mp4'  
    const localFile = await uniCloud.httpclient.request(mp4, {  
        method: 'GET',  
      })  

    let tiktokOpenId = 'f57bbc30-0208-41ca-826d-13e6bxxxxxxxxxxxxxx';  
    let tiktokAccessToken = 'act.d6f40dfdf39366e094720d3a00ddfaxxxxxxxx';  
    let url = `https://open.douyin.com/video/upload?open_id=${tiktokOpenId}&access_token=${tiktokAccessToken}`;  
    var formData = new FormData();  

    formData.append("Content-Type","video/mp4");  
    formData.append('video',localFile.data);  

    let config = {  
            headers: { "content-type": "multipart/form-data;","boundary":""}  
          };  
          try{  
              let res = await axios.post(url,formData,config);  
              return res.data;  
          }catch(e){  
              return e  
          }

求解答~ 跪谢
解答出来 奉上红包88元

2021-03-01 20:40 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

https://www.npmjs.com/package/form-data

  • 刘紫旌 (作者)

    formData.append('video',localFile.data); 我已经使用这个了,还是不行

    2021-03-02 21:18

  • DCloud_uniCloud_WYQ

    https://github.com/form-data/form-data#void-append-string-field-mixed-value--mixed-options-

    加上options试试

    2021-03-03 11:20

  • DCloud_uniCloud_WYQ

    回复 刘紫旌: 另外你的文件有多大,能在超时时间内传完吗

    2021-03-03 11:22

  • 唐逗逗

    回复 刘紫旌: 请问怎么解决的,可否告知下

    2022-07-23 16:10

该问题目前已经被锁定, 无法添加新回复