当前位置: 首页 > news >正文

深圳好的网站建中文搜索引擎排名

深圳好的网站建,中文搜索引擎排名,qq推广链接,上海网页制作教程前言 最近在写纯血鸿蒙的APP,需要用到oss上传照片,之前的客户端 Android 和 IOS 都已经实现了,获取的阿里云签名的上传地址是服务端实现的,相信大部分公司都是这样的模式,服务端也是调用阿里云的SDK来实现的&#xff…

前言

最近在写纯血鸿蒙的APP,需要用到oss上传照片,之前的客户端 Android 和 IOS 都已经实现了,获取的阿里云签名的上传地址是服务端实现的,相信大部分公司都是这样的模式,服务端也是调用阿里云的SDK来实现的,这里就不说了。

一、获取阿里云的上传地址的服务端响应大致如下:

{"objectKey": "xxx/2024/12-04/caseNo/xxx/10011111/IMG_20241204_171414.jpg","uploadUrl": "https://xxx-1-pub.aliyuncs.com/xxx/2024/12-04/caseNo/xxx/10011111/IMG_20241204_171414.jpg?Expires=1733307259&OSSAccessKeyId=STS.NTvjqsqXKGNY4ym8mAC91BwGF&Signature=XyDlgeRiI81m5zY%2B2etXnL3iNrs%3D&security-token=CAIS5wJ1q6Ft5B2yfSjIr5fDIcvHnIdq8IyyNl%2Fc3G0UT7YdrbLspDz2IHtIfnRvBu0ev%2FsymGxX7%2F0flrBzWpVfRECBatBrq51M6h6kbs%2Fatteu7LsC0AN41olCUUyV5tTbRsmkZvG%2FE67fRjKpvyt3xqSABlfGdle5MJqPpId6Z9AMJGeRZiZHA9EkTWkL6rVtVx3rOO2qLwThj0fJEUNsoXAcs25k7rmlycDugXi3zn%2BCk7JN%2Fdmgfcj8Mpc3ZM8lCO3YhrImKvDztwdL8AVP%2BatMi6hJxCzKpNn1ASMKuEncbrWLr4U%2Bc1IlOvdjQPNe3P%2Fnjrh5vPfalo%2BywBJEPOQQTynEWMW639trtExC822EH1ySBwMusrjnXvGd22uv8WyQKJBsMJOYpivFg%2FiAnq0%2BhosSJPQeztMvd52ukcBQn9M8hD7z1oHRHHvsOP7yml1TAcQXAi1lSVh4lAKOfMevW5FgWzsPbxqAAZwDDN9%2BownbWgV%2FetOALAtly8mOLpti8yvYyThOR3f6N1r0PxqiTzlGTH5Mb4GcdmVfMwD842jfknDKHfnvPAYO5mmb7jcpP8wu5IAQ3UUJtAiwAvbVZENIO%2FHsUFFb2%2B1aWcIpT%2FePBemTkJT6rxq25sSZpF8Lg6tzWAK0bKbGIAA%3D","contentType": "image/jpeg","thumbnailUrl": "https://xxx-1-pub.aliyuncs.com/xxx/2024/12-04/caseNo/xxx/10011111/IMG_20241204_171414.jpg?Expires=1733307259&OSSAccessKeyId=STS.NTvjqsqXKGNY4ym8mAC91BwGF&Signature=cF3rM8JCtNMt8VbsLx6YICWp4fw%3D&x-oss-process=image%2Fresize%2Cm_lfit%2Cw_200%2Ch_200&security-token=CAIS5wJ1q6Ft5B2yfSjIr5fDIcvHnIdq8IyyNl%2Fc3G0UT7YdrbLspDz2IHtIfnRvBu0ev%2FsymGxX7%2F0flrBzWpVfRECBatBrq51M6h6kbs%2Fatteu7LsC0AN41olCUUyV5tTbRsmkZvG%2FE67fRjKpvyt3xqSABlfGdle5MJqPpId6Z9AMJGeRZiZHA9EkTWkL6rVtVx3rOO2qLwThj0fJEUNsoXAcs25k7rmlycDugXi3zn%2BCk7JN%2Fdmgfcj8Mpc3ZM8lCO3YhrImKvDztwdL8AVP%2BatMi6hJxCzKpNn1ASMKuEncbrWLr4U%2Bc1IlOvdjQPNe3P%2Fnjrh5vPfalo%2BywBJEPOQQTynEWMW639trtExC822EH1ySBwMusrjnXvGd22uv8WyQKJBsMJOYpivFg%2FiAnq0%2BhosSJPQeztMvd52ukcBQn9M8hD7z1oHRHHvsOP7yml1TAcQXAi1lSVh4lAKOfMevW5FgWzsPbxqAAZwDDN9%2BownbWgV%2FetOALAtly8mOLpti8yvYyThOR3f6N1r0PxqiTzlGTH5Mb4GcdmVfMwD842jfknDKHfnvPAYO5mmb7jcpP8wu5IAQ3UUJtAiwAvbVZENIO%2FHsUFFb2%2B1aWcIpT%2FePBemTkJT6rxq25sSZpF8Lg6tzWAK0bKbGIAA%3D","url": "https://xxx-1-pub.aliyuncs.com/xxx/2024/12-04/caseNo/xxx/10011111/IMG_20241204_171414.jpg?Expires=1733307259&OSSAccessKeyId=STS.NUVyiVTpfT7enQBVV7UQpYydV&Signature=Mt6wUa0uwjuhhDoIDIsr0uObj3A%3D&security-token=CAIS5wJ1q6Ft5B2yfSjIr5bjMtPiua9H4%2FWObHfzslZiWd5ctrzPtDz2IHtIfnRvBu0ev%2FsymGxX7%2F0flrBzWpVfRECBatBrq51M6h6kbs%2Fatteu7LsC0Fl71olCUUyV5tTbRsmkZvG%2FE67fRjKpvyt3xqSABlfGdle5MJqPpId6Z9AMJGeRZiZHA9EkTWkL6rVtVx3rOO2qLwThj0fJEUNsoXAcs25k7rmlycDugXi3zn%2BCk7JN%2Fdmgfcj8Mpc3ZM8lCO3YhrImKvDztwdL8AVP%2BatMi6hJxCzKpNn1ASMKuEncbrWLr4U%2Bc1IlOvdjQPNe3P%2Fnjrh5vPfalo%2BywBJEPOQQTynEWMW639trtExC822EH1ySBwMusrjnXvGd22uvUWmAKJBsMJOYpivFg%2FiAnq0%2BhosSJPQeztMvd52ukcBQn9M8hD7z1oHRHHvsOP7yml1TAcQXAi1lSVh4lAKOfMdfdAO5WzsPbxqAATEdgxuax5jo%2FDZkRlgt0DahCkPvHCP4Em3sr21bZB%2BEVk%2FSjqQ2j0Bm9ClNc5f5%2FFOdMsKFbzcR%2B71dcsKiPxE8zf8VmsDpENQZ7EK2CLfCm2UKrIoT9mhnEBPYkKe40Qe%2FgooE8fem4Nd%2FgNspYYVDJp7svZvC98Blkn3tJONhIAA%3D","maxSize": 2048
}

上面我们服务端是封装过的,其中 uploadUrl 就是获取的上传oss需要的 urlcontentType也是上传附件需要的参数。url 是上传后可以直接显示图片的 url。

二、使用服务端返回的oss上传附件的对象进行文件上传

 async putToOssServer(ossUrl: string, contentType: string, imageUrl: string) {const fileInfo = await fs.open(this.imgPath, fs.OpenMode.READ_ONLY);const fileStat = await fs.stat(fileInfo.fd);console.info('file name: ', fileInfo.name);const data = new ArrayBuffer(fileStat.size);await fs.read(fileInfo.fd, data);await fs.close(fileInfo.fd);try {// 使用PutObject方法上传文件const httpRequest = http.createHttp()httpRequest.request(ossUrl, {method: http.RequestMethod.PUT,header: {'Content-Length': fileStat.size,'Content-Type': contentType},extraData: data,connectTimeout: 10000,readTimeout: 10000}, (error: Error, response: http.HttpResponse) => {// error 为空,表明接口调用成功if (!error) {console.log("接口请求成功:ossImgUrl = " + imageUrl+", response:" + `${response.result}`)this.ossImgUrl = imageUrl} else {console.log("接口请求失败:url = " + ossUrl+", 错误信息:" + `${JSON.stringify(error)}`)}// 销毁请求httpRequest.destroy()})console.info('success putObject');} catch (err) {console.info('putObject request error: ' + JSON.stringify(err));// throw err;}}

通过上面的方法就可以实现 oss 文件上传了。
使用PutObject方法上传文件,url 对应的是上面的 uploadUrlcontentType 也是上面服务端返回的 ,
imageUrl 对应的是 服务端返回的字段 url

遇到的坑:

  1. contentType 我直接写死的 application/json,应该是用服务端返回的 contentType。
  2. 显示照片我也用的是 uploadUrl导致,报如下的错误:
SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your key and signing method

应该是使用服务端返回的字段 url

好了,最后就大功告成了。

http://www.hengruixuexiao.com/news/50190.html

相关文章:

  • 装修网站建设摘要成人短期培训学校
  • 西安网站开发huanxiseo诊断分析工具
  • 做化工回收的 做那个网站无锡seo公司
  • 网页设计师网站青岛新闻最新消息
  • 东莞市公司网站建设seo如何优化排名
  • 手机 网站 源码网站关键词排名优化价格
  • 怎么登录别人的wordpress外贸网站seo教程
  • 天津做网站的公司有哪家在线seo优化工具
  • 做教育机构中介网站seo优化网站百度技术
  • 网站的建设与应用千锋教育学费一览表
  • 广州自助公司建网站金华百度seo
  • wordpress 4.4 漏洞南通seo网站优化软件
  • 响应式网站特点青岛做网络推广的公司有哪些
  • 网站建设方案论文中国数据网
  • 企业铭做网站推送者seo
  • 外贸网站源代码平台推广方式方法是什么
  • 内蒙古最新疫情最新消息今天seo包括哪些方面
  • 发布一个网站需要什么百度付费推广
  • 广东做网站找谁广告接单网站
  • 网站两列导航营销网站制作
  • 做类似淘宝网站怎么做的今日国内新闻热点
  • 卖东西的网站模板免费下载西安百度推广电话
  • 怎么模仿一个网站域名信息查询网站
  • 网站策划与建设阶段的推广的目标谷歌关键词
  • 建设一个网站需要什么软件济南最新消息今天
  • web网站如何做负载均衡游戏推广员拉人技巧
  • 怎样做水族馆网站痘痘怎么去除效果好
  • ifm网站做啥的seo哪里可以学
  • 免费自己制作音乐太原seo软件
  • 广州安全教育平台下载aso优化排名推广