1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
// 对象流式下载
let size = 0
const dataStream = await minioClient.getObject('mybucket', 'photo.jpg')
dataStream.on('data', function (chunk) {
size += chunk.length
})
dataStream.on('end', function () {
console.log('End. Total size = ' + size)
})
dataStream.on('error', function (err) {
console.log(err)
})
// 获取加密对象
const dataStream = await minioClient.getObject('mybucket', 'photo.jpg', {
SSECustomerAlgorithm: 'AES256',
SSECustomerKey: 'YOUR_KEY',
SSECustomerKeyMD5: 'YOUR_MD5',
})
// 下载对象并将其保存为本地文件系统中的文件
minioClient.fGetObject('mybucket', 'photo.jpg', '/tmp/photo.jpg', function (err) {
if (err) {
return console.log(err)
}
console.log('success')
})
// fPutObject(bucketName, objectName, filePath, metaData[, callback])
const file = '/tmp/40mbfile'
const metaData = {
'Content-Type': 'text/html',
'Content-Language': 123,
'X-Amz-Meta-Testing': 1234,
example: 5678,
}
minioClient.fPutObject('mybucket', '40mbfile', file, metaData, function (err, objInfo) {
if (err) {
return console.log(err)
}
console.log('Success', objInfo.etag, objInfo.versionId)
})
// 获取对象的元数据
const stat = await minioClient.statObject('mybucket', 'photo.jpg')
console.log(stat) //size, etag, version, metadata, lastModified(time-stamp)
// removeObject
await minioClient.removeObject('mybucket', 'photo.jpg')
// removeObjects
const objectsList = []
// List all object paths in bucket my-bucketname.
const objectsStream = s3Client.listObjects('my-bucketname', 'my-prefixname', true)
objectsStream.on('data', function (obj) {
objectsList.push(obj.name)
})
objectsStream.on('error', function (e) {
console.log(e)
})
objectsStream.on('end', async () => {
await s3Client.removeObjects(bucket, objectsList)
})
|