看这个http上传云文件图片跨域的另一种解决方案
云开发存储HTTP API如何解决浏览器跨域问题?在浏览器中使用HTTP API上传图片时,因为跨域问题会导致无法直接从浏览器上传,希望能开放腾讯云对象存储中的设置选项,允许配置跨域访问: https://cloud.tencent.com/document/product/436/6251
2019-12-06看这个http上传云文件图片跨域的另一种解决方案
http api 上传文件到云存储报错?目前做法是,客户端上传图片到服务器后,服务器通过 这里获取云存储上传链接, 再将文件内容上传到云存储。 目前可以确定 客户端到服务器这步已经没问题了, 文件已经在服务器上。 获取上传链接也没有问题, 最后一步 通过上传链接上传文件到云存储 总是报错。 [图片] 报错是: Error: Request failed with status code 400 这个问题困扰了很久,要崩溃了。。。。。。。。。
2019-12-06看这个http上传云文件图片跨域的另一种解决方案
云开发http的上传接口uploadFile能不能支持跨域?成功没返回数据[图片] 请问POSTBODY是怎么传的? 还是说其他地方有问题呢? [图片] 云开发http调用uploadFile之后,返回的上传链接能不能支持跨域,这样把地址丢给前端,前端就能直接上传到云存储,而不用把文件发给后端,后端再发到微信云存储? 还有上传成功后没有返回fileID和templeURL
2019-12-06[代码]var[代码] [代码]rp = require([代码][代码]'request-promise'[代码][代码]);[代码][代码]//还需要npm install request[代码] [代码]//以下代码写在exports.main[代码][代码]函数里[代码][代码]async [代码][代码]function[代码] [代码]request(url) {[代码][代码] [代码][代码]return[代码] [代码]new[代码] [代码]Promise([代码][代码]function[代码] [代码](resolve) {[代码][代码] [代码][代码]rp(url)[代码][代码] [代码][代码].then([代码][代码]function[代码] [代码](data) {[代码][代码] [代码][代码]resolve(data);[代码][代码] [代码][代码]})[代码][代码] [代码][代码].[代码][代码]catch[代码][代码]([代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]resolve({ err: 1 });[代码][代码] [代码][代码]});[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]var[代码] [代码]createOpt = [代码][代码]function[代码] [代码](token, scene, page) {[代码][代码] [代码][代码]var[代码] [代码]options = {[代码][代码] [代码][代码]method: [代码][代码]'POST'[代码][代码],[代码][代码] [代码][代码]uri: [代码][代码]'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='[代码] [代码]+ token,[代码][代码] [代码][代码]encoding: [代码][代码]null[代码][代码], [代码][代码]//一定要加这个!!!!,不然存进去乱码,试了好久才发现是这里的问题,发出来给大家节约时间[代码][代码] [代码][代码]body: {[代码][代码] [代码][代码]"scene"[代码][代码]: scene,[代码][代码] [代码][代码]"page"[代码][代码]: page[代码][代码] [代码][代码]},[代码][代码] [代码][代码]json: [代码][代码]true[代码] [代码]// Automatically stringifies the body to JSON[代码][代码] [代码][代码]};[代码][代码] [代码][代码]return[代码] [代码]options[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]var[代码] [代码]options = createOpt('access_token自己获取', [代码][代码]'test=key&ffff=lalalla'[代码][代码], [代码][代码]'pages/index/index'[代码][代码])[代码][代码] [代码][代码]var[代码] [代码]fileStream = await request(options) [代码] [代码] [代码][代码]return[代码] [代码]await cloud.uploadFile({[代码][代码] [代码][代码]cloudPath: [代码][代码]'testCode3.png'[代码][代码],[代码][代码] [代码][代码]fileContent: fileStream,[代码][代码] [代码][代码]})[代码]
getWXACodeUnlimit返回的二进制保存到云存储- 需求的场景描述(希望解决的问题) [图片] 问题:接口返回的二进制如何转为文件并保存到云存储 流程: 1.小程序向云函数发送请求,请求云开发生成返回图片地址(在云存储的地址) 2.云函数接收到请求,请求获取accessToken (已完成) 3.通过getWXACodeUnlimit得到返回的二维码(图片二进制内容) (已完成)4.将二维码保存至云存储 - 希望提供的能力 将二维码保存至云存储 或 直接发送到云存储指定位置
2018-10-29[代码]var[代码] [代码]rp = require([代码][代码]'request-promise'[代码][代码]);[代码][代码]//还需要npm install request[代码] [代码]//以下代码写在云函数里[代码][代码]async [代码][代码]function[代码] [代码]request(url) {[代码][代码] [代码][代码]return[代码] [代码]new[代码] [代码]Promise([代码][代码]function[代码] [代码](resolve) {[代码][代码] [代码][代码]rp(url)[代码][代码] [代码][代码].then([代码][代码]function[代码] [代码](data) {[代码][代码] [代码][代码]resolve(data);[代码][代码] [代码][代码]})[代码][代码] [代码][代码].[代码][代码]catch[代码][代码]([代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]resolve({ err: 1 });[代码][代码] [代码][代码]});[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]var[代码] [代码]createOpt = [代码][代码]function[代码] [代码](token, scene, page) {[代码][代码] [代码][代码]var[代码] [代码]options = {[代码][代码] [代码][代码]method: [代码][代码]'POST'[代码][代码],[代码][代码] [代码][代码]uri: [代码][代码]'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='[代码] [代码]+ token,[代码][代码] [代码][代码]encoding: [代码][代码]null[代码][代码], [代码][代码]//一定要加这个!!!!,不然存进去乱码,试了好久才发现是这里的问题,发出来给大家节约时间[代码][代码] [代码][代码]body: {[代码][代码] [代码][代码]"scene"[代码][代码]: scene,[代码][代码] [代码][代码]"page"[代码][代码]: page[代码][代码] [代码][代码]},[代码][代码] [代码][代码]json: [代码][代码]true[代码] [代码]// Automatically stringifies the body to JSON[代码][代码] [代码][代码]};[代码][代码] [代码][代码]return[代码] [代码]options[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]var[代码] [代码]options = createOpt('access_token自己获取', [代码][代码]'test=key&ffff=lalalla'[代码][代码], [代码][代码]'pages/index/index'[代码][代码])[代码][代码] [代码][代码]var[代码] [代码]fileStream = await request(options) [代码] [代码] [代码][代码]return[代码] [代码]await cloud.uploadFile({[代码][代码] [代码][代码]cloudPath: [代码][代码]'testCode3.png'[代码][代码],[代码][代码] [代码][代码]fileContent: fileStream,[代码][代码] [代码][代码]})[代码]
使用云开发怎么获取小程序码运用request获取小程序码二进制流后,想要存储到云开发的文件管理,但一直提示文件路径是read-only file system,有哪位大哥知道咋整吗 [代码]return[代码] [代码]new[代码] [代码]Promise((resolve, reject) => {[代码][代码] [代码][代码]let stream = request({[代码][代码] [代码][代码]url: url,[代码][代码] [代码][代码]method: [代码][代码]"POST"[代码][代码],[代码][代码] [代码][代码]headers: {[代码][代码] [代码][代码]"content-type"[代码][代码]: [代码][代码]"application/json"[代码][代码],[代码][代码] [代码][代码]"content-Length"[代码][代码]: JSON.stringify(data).length[代码][代码] [代码][代码]},[代码] [代码] [代码][代码]body: json[代码][代码] [代码] [代码] [代码][代码]})[代码][代码] [代码][代码].pipe(fs.createWriteStream(path.join(__dirname, [代码][代码]'demo.png'[代码][代码])))[代码][代码] [代码][代码]stream.on([代码][代码]'finish'[代码][代码], [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]cloud.uploadFile({[代码][代码] [代码][代码]cloudPath: [代码][代码]'demo.png'[代码][代码],[代码][代码] [代码][代码]fileContent: [代码][代码]'/var/user/demo.png'[代码][代码],[代码][代码] [代码][代码]})[代码] [代码] [代码][代码]})[代码]
2018-10-29