收藏
回答

云开发里的文档转换服务怎么开通啊?

// 云函数入口文件

const cloud = require('wx-server-sdk')

// 引入 fs 和 path 模块

const fs = require('fs')

const path = require('path')


cloud.init({

  env: cloud.DYNAMIC_CURRENT_ENV

});

console.log('云函数开始执行'// 打印云函数开始执行的信息


// 云函数入口函数

exports.main = async (event, context) => {

  try {

    console.log('输入的参数', event// 打印 event 对象,包含所有传递给云函数的参数


    // 获取用户的 openid

    const wxContext = cloud.getWXContext()

    const openid = wxContext.OPENID

    console.log('获取用户的 openid', openid// 打印用户的 openid


    // 获取文件的文件 ID

    const fileId = event.fileID // 如果传入 fileID

    console.log('获取文件的文件 ID', fileId// 打印文件的文件 ID


    // 获取文件的文件名

    const fileName = path.basename(fileId// 使用 path 模块的 basename 方法,从 fileId 中提取出文件名

    console.log('获取文件的文件名', fileName// 打印文件的文件名


    // 调用文档转换服务,把文件转换成 pdf,并获取转换后的文件 ID

    const convertRes = await cloud.openapi.clouddocs.convert({

      type: 'doc2pdf', // 指定文档转换服务的类型为 doc2pdf

      fileid: fileId, // 传入文件 ID

      outputType: 'pdf' // 指定转换后的文件格式为 pdf

    })

    const convertedFileId = convertRes.fileid // 获取转换后的文件 ID

    console.log('调用文档转换服务,把文件转换成 pdf,并获取转换后的文件 ID', convertedFileId// 打印转换后的文件 ID


    // 下载转换后的文件,并获取临时路径

    const downloadRes = await cloud.downloadFile({

      fileID: convertedFileId, // 传入文件 ID

    })

    const tempFilePath = downloadRes.tempFilePath // 获取临时路径

    console.log('下载转换后的文件,并获取临时路径', tempFilePath// 打印临时路径


    // 上传转换后的文件到云存储,并获取文件 ID

    const uploadConvertedRes = await cloud.uploadFile({

      cloudPath: `${openid}/${fileName}.pdf`, // 指定云存储的路径,可以自定义

      filePath: tempFilePath, // 传入转换后文件的临时路径

      fileContent: fs.readFileSync(tempFilePath// 传入转换后文件的内容,使用 fs 模块的 readFileSync 方法,从临时路径中读取文件内容

    })

    convertedFileId = uploadConvertedRes.fileID // 获取文件 ID

    console.log('上传转换后的文件到云存储,并获取文件 ID', convertedFileId// 打印文件 ID


    // 获取转换后文件的访问链接

    const getTempFileURLRes = await cloud.getTempFileURL({

      fileList: [convertedFileId], // 传入文件 ID 列表

    })

    const fileURL = getTempFileURLRes.fileList[0].tempFileURL // 获取文件的访问链接

    console.log('获取转换后文件的访问链接', fileURL// 打印文件的访问链接


    // 返回转换成功的结果和文件的访问链接

    console.log('转换成功,返回文件的访问链接'// 打印转换成功的信息

    return fileURL // 直接返回文件的访问链接

  } catch (err{

    // 返回转换失败的结果和错误信息

    console.log('转换失败,返回错误信息', err// 打印转换失败的信息和错误对象

    return {

      code: -1,

      message: '转换失败',

      data: {

        error: err,

      },

    }

  }

}


在const convertRes = await cloud.openapi.clouddocs.convert这里报错说找不到API,好像是要去云开发里开通文档转换服务,可是我找不到啊!!!


回答关注问题邀请回答
收藏
登录 后发表内容