本文整理汇总了TypeScript中aws-sdk.S3.putObject方法的典型用法代码示例。如果您正苦于以下问题:TypeScript S3.putObject方法的具体用法?TypeScript S3.putObject怎么用?TypeScript S3.putObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类aws-sdk.S3
的用法示例。
在下文中一共展示了S3.putObject方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: returnScreenshot
// Returns the S3 url or local file path
async returnScreenshot(): Promise<string> {
const data = await screenshot(this.client)
// check if S3 configured
if (process.env['CHROMELESS_S3_BUCKET_NAME'] && process.env['CHROMELESS_S3_BUCKET_URL']) {
const s3Path = `${cuid()}.png`
const s3 = new AWS.S3()
await s3.putObject({
Bucket: process.env['CHROMELESS_S3_BUCKET_NAME'],
Key: s3Path,
ContentType: 'image/png',
ACL: 'public-read',
Body: new Buffer(data, 'base64'),
}).promise()
return `https://${process.env['CHROMELESS_S3_BUCKET_URL']}/${s3Path}`
}
// write to `/tmp` instead
else {
const filePath = `/tmp/${cuid()}.png`
fs.writeFileSync(filePath, Buffer.from(data, 'base64'))
return filePath
}
}
示例2: returnPdf
// Returns the S3 url or local file path
async returnPdf(options?: PdfOptions): Promise<string> {
const data = await pdf(this.client, options)
// check if S3 configured
if (
process.env['CHROMELESS_S3_BUCKET_NAME'] &&
process.env['CHROMELESS_S3_BUCKET_URL']
) {
const s3Path = `${cuid()}.pdf`
const s3 = new AWS.S3()
await s3
.putObject({
Bucket: process.env['CHROMELESS_S3_BUCKET_NAME'],
Key: s3Path,
ContentType: 'application/pdf',
ACL: 'public-read',
Body: new Buffer(data, 'base64'),
})
.promise()
return `https://${process.env['CHROMELESS_S3_BUCKET_URL']}/${s3Path}`
} else {
// write to `${os.tmpdir()}` instead
const filePath = path.join(os.tmpdir(), `${cuid()}.pdf`)
fs.writeFileSync(filePath, Buffer.from(data, 'base64'))
return filePath
}
}
示例3: deploy
async deploy(args) {
this._s3 = new (this._getAWS(this.resources)).S3();
let bucket = this.resources.target;
let source = path.resolve(this.resources.source);
this.bucket = bucket;
this.source = source;
console.log("Deploy", source, "on S3 Bucket", bucket);
await this.createBucket(bucket);
let files = Finder.from(source).findFiles();
// Should implement multithread here - cleaning too
for (let i in files) {
let file = files[i];
let key = path.relative(source, file);
// Need to have mimetype to serve the content correctly
let mimetype = mime.contentType(path.extname(file));
await this._s3
.putObject({
Bucket: bucket,
Body: fs.createReadStream(file),
Key: key,
ContentType: mimetype
})
.promise();
console.log("Uploaded", file, "to", key, "(" + mimetype + ")");
}
if (!this.resources.staticWebsite) {
return;
}
await this._createWebsite();
}
示例4: Promise
return new Promise((ok, fail) => {
s3.putObject(args, (err, data) => {
if (err) {
return fail(err);
}
ok();
});
});
示例5: reject
return new Promise<string>((resolve, reject) => {
s3.putObject(params, (err, data) => {
if (err) {
reject(`S3 Error: ${err.message}`)
} else {
resolve(`https://${domain}/${params.Bucket}/${key}`)
}
})
})
示例6:
.then(() => {
return this._s3
.putObject({
Bucket: bucket,
Body: fs.createReadStream(info.src),
Key: info.key,
ContentType: mimetype
})
.promise();
})
示例7: uploadToS3
export async function uploadToS3(data: string, contentType: string): Promise<string> {
const s3ContentType = s3ContentTypes[contentType]
if (!s3ContentType) {
throw new Error(`Unknown S3 Content type ${contentType}`)
}
const s3Path = `${getS3ObjectKeyPrefix()}${cuid()}.${s3ContentType.extension}`
const s3 = new AWS.S3()
await s3
.putObject({
Bucket: getS3BucketName(),
Key: s3Path,
ContentType: contentType,
ACL: 'public-read',
Body: Buffer.from(data, 'base64'),
})
.promise()
return `https://${getS3BucketUrl()}/${s3Path}`
}