Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐少华
midjourney-proxy
Commits
a5523fc5
Commit
a5523fc5
authored
May 17, 2022
by
guiq
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug: [none] 解决华为云webp格式图片浏览器访问默认下载问题
parent
adf5f217
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
1 deletions
+24
-1
OssUtils.java
...rc/main/java/com/pcloud/common/utils/aliyun/OssUtils.java
+24
-1
No files found.
pcloud-common/src/main/java/com/pcloud/common/utils/aliyun/OssUtils.java
View file @
a5523fc5
...
@@ -14,6 +14,7 @@ import com.huawei.mpc.model.transcoding.QueryTranscodingRequest;
...
@@ -14,6 +14,7 @@ import com.huawei.mpc.model.transcoding.QueryTranscodingRequest;
import
com.huawei.mpc.model.transcoding.QueryTranscodingResponse
;
import
com.huawei.mpc.model.transcoding.QueryTranscodingResponse
;
import
com.huawei.mpc.model.transcoding.TextWatermark
;
import
com.huawei.mpc.model.transcoding.TextWatermark
;
import
com.obs.services.ObsClient
;
import
com.obs.services.ObsClient
;
import
com.obs.services.internal.utils.Mimetypes
;
import
com.obs.services.internal.utils.ServiceUtils
;
import
com.obs.services.internal.utils.ServiceUtils
;
import
com.obs.services.model.DownloadFileRequest
;
import
com.obs.services.model.DownloadFileRequest
;
import
com.obs.services.model.DownloadFileResult
;
import
com.obs.services.model.DownloadFileResult
;
...
@@ -47,6 +48,7 @@ import com.pcloud.common.utils.rsa.MD5;
...
@@ -47,6 +48,7 @@ import com.pcloud.common.utils.rsa.MD5;
import
com.pcloud.common.utils.string.StringTools
;
import
com.pcloud.common.utils.string.StringTools
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -63,10 +65,13 @@ import java.util.ArrayList;
...
@@ -63,10 +65,13 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Optional
;
import
cn.hutool.core.codec.Base64
;
import
cn.hutool.core.codec.Base64
;
import
lombok.SneakyThrows
;
import
lombok.SneakyThrows
;
import
javax.validation.constraints.NotNull
;
/**
/**
* @描述:
* @描述:
* @作者:zyj
* @作者:zyj
...
@@ -208,7 +213,8 @@ public class OssUtils {
...
@@ -208,7 +213,8 @@ public class OssUtils {
ObsClient
client
=
getOSSClient
(
bucketName
);
ObsClient
client
=
getOSSClient
(
bucketName
);
OSSFileDO
ossFileDO
=
null
;
OSSFileDO
ossFileDO
=
null
;
try
{
try
{
client
.
putObject
(
bucketName
,
objectKey
,
is
);
// fixbug 华为云 webp 默认打开即下载问题
client
.
putObject
(
bucketName
,
objectKey
,
is
,
getObjectMetadata
(
objectKey
));
ossFileDO
=
new
OSSFileDO
(
AliyunConstant
.
getOssRegion
(
bucketName
),
bucketName
,
ossFileDO
=
new
OSSFileDO
(
AliyunConstant
.
getOssRegion
(
bucketName
),
bucketName
,
URLEncoder
.
encode
(
objectKey
,
"utf-8"
));
URLEncoder
.
encode
(
objectKey
,
"utf-8"
));
is
.
close
();
is
.
close
();
...
@@ -226,6 +232,23 @@ public class OssUtils {
...
@@ -226,6 +232,23 @@ public class OssUtils {
}
}
/**
/**
* 若上传时 Content-Type 是 application/octet-stream 或者 multipart/form-data
* 则文件地址打开默认时下载的 参考{@link Mimetypes#getMimetype(String)}
*/
private
static
ObjectMetadata
getObjectMetadata
(
@NotNull
String
objectKey
)
{
int
lastPeriodIndex
=
objectKey
.
lastIndexOf
(
"."
);
if
(
lastPeriodIndex
>
0
&&
lastPeriodIndex
+
1
<
objectKey
.
length
())
{
String
ext
=
objectKey
.
substring
(
lastPeriodIndex
+
1
);
if
(
StringUtils
.
equalsIgnoreCase
(
"webp"
,
ext
))
{
ObjectMetadata
metadata
=
new
ObjectMetadata
();
metadata
.
setContentType
(
"image/webp"
);
return
metadata
;
}
}
return
null
;
}
/**
* 断点续传上传文件到aliOSS
* 断点续传上传文件到aliOSS
*/
*/
@SneakyThrows
@SneakyThrows
...
...
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