Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cloud-aliyun
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hqzhdj
cloud-aliyun
Commits
e3890bda
Commit
e3890bda
authored
Feb 17, 2025
by
阳浪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
收藏
parent
10faa87d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
54 additions
and
16 deletions
+54
-16
cloud-aliyun-service/src/main/java/com/yizhi/aliyun/application/controller/FileUploadController.java
+38
-0
cloud-aliyun-service/src/main/java/com/yizhi/aliyun/application/controller/PolicyController.java
+16
-16
No files found.
cloud-aliyun-service/src/main/java/com/yizhi/aliyun/application/controller/FileUploadController.java
0 → 100644
View file @
e3890bda
package
com
.
yizhi
.
aliyun
.
application
.
controller
;
import
com.yizhi.aliyun.application.util.PropertiesUtil
;
import
com.yizhi.core.application.file.util.MinioTools
;
import
com.yizhi.util.application.domain.Response
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.servlet.support.ServletUriComponentsBuilder
;
import
java.io.IOException
;
import
java.nio.file.Files
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
@RestController
@RequestMapping
(
"/api"
)
public
class
FileUploadController
{
@Autowired
private
MinioTools
minioTools
;
@Autowired
PropertiesUtil
propertiesUtil
;
@PostMapping
(
"/upload"
)
public
Response
<
String
>
uploadFile
(
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestParam
(
"Filename"
)
String
Filename
)
{
try
{
String
[]
fileNames
=
Filename
.
split
(
"/"
);;
String
bucketName
=
fileNames
[
0
];
minioTools
.
uplodFile
(
bucketName
,
fileNames
[
1
],
file
.
getInputStream
());
return
Response
.
ok
(
minioTools
.
getFile
(
bucketName
,
fileNames
[
1
]));
}
catch
(
IOException
ex
)
{
return
Response
.
fail
(
"Could not upload the file: "
+
Filename
);
}
}
}
\ No newline at end of file
cloud-aliyun-service/src/main/java/com/yizhi/aliyun/application/controller/PolicyController.java
View file @
e3890bda
...
...
@@ -83,30 +83,30 @@ public class PolicyController {
String
host
=
"https://"
+
bucket
+
"."
+
endpoint
;
OSSClient
client
=
new
OSSClient
(
endpoint
,
accessId
,
accessKey
);
//
OSSClient client = new OSSClient(endpoint, accessId, accessKey);
try
{
long
expireTime
=
60
*
24
;
long
expireEndTime
=
System
.
currentTimeMillis
()
+
expireTime
*
1000
;
Date
expiration
=
new
Date
(
expireEndTime
);
PolicyConditions
policyConds
=
new
PolicyConditions
();
policyConds
.
addConditionItem
(
PolicyConditions
.
COND_CONTENT_LENGTH_RANGE
,
0
,
10485760000L
);
policyConds
.
addConditionItem
(
MatchMode
.
StartWith
,
PolicyConditions
.
COND_KEY
,
dir
);
//
long expireTime = 60 * 24;
//
long expireEndTime = System.currentTimeMillis() + expireTime * 1000;
//
Date expiration = new Date(expireEndTime);
//
PolicyConditions policyConds = new PolicyConditions();
//
policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 10485760000L);
//
policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, dir);
String
postPolicy
=
client
.
generatePostPolicy
(
expiration
,
policyConds
);
byte
[]
binaryData
=
postPolicy
.
getBytes
(
"utf-8"
);
String
encodedPolicy
=
BinaryUtil
.
toBase64String
(
binaryData
);
String
postSignature
=
client
.
calculatePostSignature
(
postPolicy
);
//
String postPolicy = client.generatePostPolicy(expiration, policyConds);
//
byte[] binaryData = postPolicy.getBytes("utf-8");
//
String encodedPolicy = BinaryUtil.toBase64String(binaryData);
//
String postSignature = client.calculatePostSignature(postPolicy);
Map
<
String
,
String
>
respMap
=
new
LinkedHashMap
<
String
,
String
>();
respMap
.
put
(
"accessid"
,
accessId
);
respMap
.
put
(
"policy"
,
encodedPolicy
);
respMap
.
put
(
"signature"
,
postSignature
);
//respMap.put("expire", formatISO8601Date(expiration)
);
respMap
.
put
(
"policy"
,
"encodedPolicy"
);
respMap
.
put
(
"signature"
,
"postSignature"
);
respMap
.
put
(
"expire"
,
"formatISO8601Date(expiration)"
);
respMap
.
put
(
"dir"
,
dir
);
respMap
.
put
(
"host"
,
host
);
respMap
.
put
(
"expire"
,
String
.
valueOf
(
expireEndTime
/
1000
)
);
respMap
.
put
(
"expire"
,
"String.valueOf(expireEndTime / 1000)"
);
respMap
.
put
(
"active"
,
active
);
JSONObject
ja1
=
JSONObject
.
fromObject
(
respMap
);
System
.
out
.
println
(
ja1
.
toString
());
...
...
@@ -115,7 +115,7 @@ public class PolicyController {
}
catch
(
Exception
e
)
{
return
Response
.
fail
(
e
.
getMessage
());
}
finally
{
client
.
shutdown
();
//
client.shutdown();
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment