django-vue3-admin-web/node_modules/ali-oss/lib/common/object/signPostObjectPolicyV4.ts
2025-10-20 21:21:14 +08:00

21 lines
666 B
TypeScript

import dateFormat from 'dateformat';
import { getStandardRegion } from '../utils/getStandardRegion';
import { policy2Str } from '../utils/policy2Str';
import { getSignatureV4 } from '../signUtils';
export function signPostObjectPolicyV4(this: any, policy: string | object, date: Date): string {
const policyStr = Buffer.from(policy2Str(policy), 'utf8').toString('base64');
const formattedDate = dateFormat(date, "UTC:yyyymmdd'T'HHMMss'Z'");
const onlyDate = formattedDate.split('T')[0];
const signature = getSignatureV4(
this.options.accessKeySecret,
onlyDate,
getStandardRegion(this.options.region),
policyStr
);
return signature;
}