cattt_个人页

个人头像照片 cattt
个人头像照片
0
341
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2022年01月

正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何使用表单上传方式上传资源到OSS服务器?

    请参见Web端直传实践

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何添加上传回调?

    const uploadFile = function uploadFile(client) {
    if (!uploadFileClient || Object.keys(uploadFileClient).length === 0) {
    uploadFileClient = client;
    }
    
    
    const file = document.getElementById('file').files[0];
    const key = document.getElementById('object-key-file').value.trim() || 'object';
    
    
    console.log(`${file.name} => ${key}`);
    const options = {
    progress,
    partSize: 500 * 1024,
    timeout:60000,
    meta: {
    year: 2017,
    people: 'test',
    },
    callback: {
    
    
    //此处是添加上传回调的位置。
    url: 'https://example.aliyundoc.com/v2/sync',
    /* host: 'oss-cn-shenzhen.aliyuncs.com', */
    /* eslint no-template-curly-in-string: [0] */
    body: 'bucket=${bucket}&object=${object}&var1=${x:var1}',
    contentType: 'application/x-www-form-urlencoded',
    customValue: {
    var1: 'value1',
    var2: 'value2',
    },
    },
    

    关于上传回调的更多信息,请参见原理介绍

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何运行示例工程?

    进入ali-oss/example执行 npm run start。

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何使用SDK生成的签名URL并进行资源上传?

    签名URL常用于授权给第三方进行资源的下载和上传操作。下载请参见上一条。SDK中提供signatureUrl API,用于返回一个经过签名的URL,用户直接使用该URL上传或者下载资源即可。利用签名URL上传资源请参见SDK工程示例签名URL上传资源示例

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何获取Object的签名URL?

    可调用signatureUrl方法,获取下载地址。更多信息,请参见相关文档

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何获取下载进度?

    浏览器中无法获取进度,可调用signatureUrl方法,获取下载地址。更多信息,请参见相关文档

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何获取上传进度?

    使用分片上传时,可获取上传进度

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何限制上传文件的大小?

    在浏览器中可以根据document.getElementById(“file”).files[0].size获取上传文件的大小(字节数)。更多信息,请参见Web端直传实践的post请求。

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何上传base64编码的图片?

    base64先转码成指定格式图片,然后调用OSS上传接口进行上传。更多信息,请参见Github示例

    /**
     * base64 to file
     * @param dataurl   base64 content
     * @param filename  set up a meaningful suffix, or you can set mime type in options
     * @returns {File|*}
     */
    const dataURLtoFile = function dataURLtoFile(dataurl, filename) {
      const arr = dataurl.split(',');
      const mime = arr[0].match(/:(.*?);/)[1];
      const bstr = atob(arr[1]);
      let n = bstr.length;
      const u8arr = new Uint8Array(n);
      while (n--) {
        u8arr[n] = bstr.charCodeAt(n);
      }
      return new Blob([u8arr], { type: mime });// if env support File, also can use this: return new File([u8arr], filename, { type: mime });
    };
    
    // client表示OSS client实例
    const uploadBase64Img = function uploadBase64Img(client) {
      // base64格式的内容
      const base64Content = 'data:image:xxxxxxxxxxxxx';
      const filename =  'img.png';
      const imgfile = dataURLtoFile(base64Content, filename);
      //key表示上传的object key ,imgFile表示dataURLtoFile处理后返回的图片
      client.multipartUpload(key, imgfile).then((res) => {
        console.log('upload success: %j', res);
      }).catch((err) => {
        console.error(err);
      });
    };
                
    
    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何上传文件到指定目录?

    给要上传的Object名称前加指定目录前缀即可。更多信息,请参见OSS和文件系统对比

    let OSS = require('ali-oss')
    let client = new OSS({
      region: '<Your region>',
      accessKeyId: '<Your AccessKeyId>',
      accessKeySecret: '<Your AccessKeySecret>',
      bucket: 'Your bucket name'
    });
    
    client.multipartUpload('base-dir/' +'object-key', 'local-file', {
        progress: async function (p) {
          console.log('Progress: ' + p);
        }
      });
      console.log(result);
    }).catch((err) => {
      console.log(err);
    });
    
                
    
    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何实现浏览器端断点续传?

    可以将checkpoint保存到浏览器的localstorage,下次再调用的时候传入checkpoint参数,就可以实现断点续传功能。

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何设置上传文件的用户自定义数据、文件类型和请求头?

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时浏览器跨域问题如何解决?

    在浏览器中使用SDK前,先要设置Bucket的CORS属性。具体操作,请参见相关文档

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何开启HTTPS访问?

    初始化SDK时,可传入以下几个参数:

    • region:指您申请OSS服务时的区域,例如oss-cn-hangzhou。完整的区域列表可以在OSS服务节点查看。

    • internal:配合region使用,如果指定 internal 为 true,则访问内网节点。

    • secure:配合region使用,如果指定了secure为true,则使用HTTPS访问。

    
    const client = new OSS({
    region,
    accessKeyId: creds.AccessKeyId,
    accessKeySecret: creds.AccessKeySecret,
    stsToken: creds.SecurityToken,
    bucket,
    secure:true
    });
    
    • endpoint:例如http://oss-cn-hangzhou.aliyuncs.com,如果指定了endpoint,则region会被忽略,endpoint可以指定HTTPS,也可以是IP形式。
    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用Browser.js SDK时如何调用STS?

    浏览器是不受信任的环境,如果把AccessKey ID和AccessKey Secret直接保存在浏览器端,存在极高的风险。建议在浏览器环境下使用STS模式进行OSS接口调用。

    获取STS token后,即可进行SDK初始化操作。

    <script type="text/javascript">
      $.ajax("http://your_sts_server/",{method: 'GET'},function (err, result) {
        let client = new OSS({
          accessKeyId: result.AccessKeyId,
          accessKeySecret: result.AccessKeySecret,
          stsToken: result.SecurityToken,
          endpoint: '<oss endpoint>',
          bucket: '<Your bucket name>'
        });
      });
    </script>
                
    
    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用 OSS Node.js SDK 时如何获取 Object 的签名 URL?

    可调用 signatureUrl 方法,获取下载地址,可查看 Github 中 signatureUrl部分。

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用 OSS Node.js SDK 时如何上传文件到指定目录?

    给要上传的 object 名称前加指定目录前缀即可,可参考OSS 和文件系统对比

    let OSS = require('ali-oss')
    let client = new OSS({
      region: '<Your region>',
      accessKeyId: '<Your AccessKeyId>',
      accessKeySecret: '<Your AccessKeySecret>',
      bucket: '<Your bucket name>',
    });
    
    client.multipartUpload('base-dir/' +'object-name', 'local-file', {
        progress: async function (p) {
          console.log('Progress: ' + p);
        }
      });
      console.log(result);
    }).then((res) => {
      console.log(res)
    }). catch((err) => {
      console.log(err);
    });
    
    			
    
    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用 OSS Node.js SDK 时如何上传base64编码的图片?

    将 base64 内容转换成 File 对象,再调用接口上传至 OSS 服务器。

     function dataURLtoFile(dataurl, filename) {
        let arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
          bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
        while(n--){
          u8arr[n] = bstr.charCodeAt(n);
        }
        return new File([u8arr], filename, {type:mime});
      }
    
      let file = dataURLtoFile('<base64 content>', '');
    
      client.multipartUpload('<oss file name>', file).then( (res)=> {
        console.log(res)
      }).catch((err) => {
        console.log(err)
      });
    			
    
    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用 OSS Node.js SDK 时如何获取下载进度?

    Node.js SDK 中可根据下载流的大小来计算进度。

    踩0 评论0
  • 回答了问题 2022-01-19

    【OSS】使用 OSS Node.js SDK 时如何获取上传进度?

    使用分片上传时,可通过progress参数获取上传进度。

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息