ali-oss 传 链接 报错说 找不到文件?

来源:6-7 上传线上封面图和视频搬砖到七牛云图床上

hx_001

2018-04-08

http://img.mukewang.com/szimg/5ac9d83a000106a409791312.jpg

http://img.mukewang.com/szimg/5ac9d81c000100ab10340089.jpg

比较奇怪。 用new buffer(url),能通过,但是传上去文件很小,并不是 源文件。

写回答

3回答

Lex_Pierce

2018-05-05

OSS只能上传本地文件。当你执行程序时,会把url链接当成所在执行目录的文件,自然是找不到的。所以应该把链接文件get到本地,然后上传,再将文件删除

0
0

Scott

2018-04-09

试试这个,这是我之前用 oss 时的代码


const { green, red } = require('chalk')
const OSS = require('ali-oss')
const co = require('co')
const BUCKETDOMAINURL = 'https://你的域名.oss-cn-hangzhou.aliyuncs.com'
const APPLICATIONDIR = '你的 oss 目录'
const BUCKET = '你的 bucket'
const ossOptions = {
 region: 'oss-cn-hangzhou',
 accessKeyId: 'xxx',
 accessKeySecret: 'ooo',
 endpoint: 'oss-cn-hangzhou.aliyuncs.com'
}
const client = new OSS(ossOptions)
function uploadOss ({ pathOrStream, fileName }) {
 return new Promise((resolve, reject) => {
co(function * () {
     client.useBucket(BUCKET)
     yield client.put(`/${APPLICATIONDIR}/${fileName}`, pathOrStream)
     return resolve()
}).catch(err => {
reject(err)
})
})
}
const upload = async ({ pathOrStream, fileName }) => {
console.log(`----- 正在上传 ${fileName} -----`)
 try {
   await uploadOss({ pathOrStream, fileName })
   const applicationUrl = `${BUCKETDOMAINURL}/${APPLICATIONDIR}/${fileName}`
console.log(green(`----- 上传成功,地址:${applicationUrl} -----`))
   return applicationUrl
} catch (e) {
console.log(red('----- 上传出错 -----'))
   throw new Error(e)
}
}
module.exports = upload


0
0

hx_001

提问者

2018-04-08

好吧,老老实实换了 七牛的。   但是这个 阿里云的 杂用。。。  是要先下载?

0
0

Koa2框架从0开始构建预告片网站

Koa2+MongoDB+Parcel+Puppeteer+AntDesign快速搭建预告片网站

751 学习 · 362 问题

查看课程