OSSConfig.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import Crypto from '@/common/crypto/crypto.js';
  2. import '@/common/crypto/hmac.js';
  3. import '@/common/crypto/sha1.js';
  4. import { Base64 } from '@/common/crypto/base64.js';
  5. let date = new Date()
  6. date = date.setHours(date.getHours() + 1)
  7. let extime = "" + new Date(date).toISOString()
  8. let policyText = {
  9. "expiration": extime,
  10. "conditions": [
  11. ["content-length-range", 0, 1024 * 1024 * 100] // 设置上传文件的大小限制
  12. ]
  13. };
  14. let config = {
  15. accessid: 'LTAI5t6AWMP2imYzXGY43PzJ',
  16. accesskey: 'qNdgXZTle1ohzm5di0fzhiMMuy9P3T',
  17. osshost: 'http://zswl-dev.oss-cn-chengdu.aliyuncs.com/63b7c68b71a69169d1b33f92/store/other/',
  18. policyBase64: Base64.encode(JSON.stringify(policyText))
  19. }
  20. let message = config.policyBase64;
  21. let bytes = Crypto.HMAC(Crypto.SHA1, message, config.accesskey, {
  22. asBytes: true
  23. });
  24. let signature = Crypto.util.bytesToBase64(bytes);
  25. let timetamp = new Date().getTime();
  26. let OSSConfig = {
  27. name: 'aliyun',
  28. host: config.osshost,
  29. accessid: config.accessid,
  30. signature: signature,
  31. policyBase64: config.policyBase64,
  32. }
  33. export default OSSConfig;