cloudfunctions/SegmentPortraitPic/node_modules/tcb-admin-node/src/storage/index.js
(开头部分) 6KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
const request = require('request')
const fs = require('fs')
const httpRequest = require('../utils/httpRequest')
const { parseString } = require('xml2js')
async function parseXML(str) {
return new Promise((resolve, reject) => {
parseString(str, (err, result) => {
if (err) {
reject(err)
} else {
resolve(result)
}
})
})
}
/*
* 上传文件
* @param {string} cloudPath 上传后的文件路径
* @param {fs.ReadStream} fileContent 上传文件的二进制流
*/
async function uploadFile({ cloudPath, fileContent }) {
const {
data: { url, token, authorization, fileId, cosFileId }
} = await getUploadMetadata.call(this, { cloudPath })
const formData = {
Signature: authorization,
'x-cos-security-token': token,
'x-cos-meta-fileid': cosFileId,
key: cloudPath,
file: fileContent
}
let body = await new Promise((resolve, reject) => {
request.post({ url, formData: formData }, function(err, res, body) {
if (err) {
reject(err)
} else {
resolve(body)
}
})
})
body = await parseXML(body)
if (body && body.Error) {
const {
Code: [code],
Message: [message]
} = body.Error
if (code === 'SignatureDoesNotMatch') {
return {
code: 'SYS_ERR',
message
}
}
return {
code: 'STORAGE_REQUEST_FAIL',
message
后面还有 250 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
