|
@@ -11,11 +11,11 @@ import com.qmth.boot.tools.uuid.FastUUID;
|
|
import okhttp3.*;
|
|
import okhttp3.*;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
-import javax.activation.MimetypesFileTypeMap;
|
|
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.FileOutputStream;
|
|
import java.io.FileOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.InputStream;
|
|
|
|
+import java.net.URLConnection;
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.time.Duration;
|
|
import java.time.Duration;
|
|
|
|
|
|
@@ -25,15 +25,12 @@ public class OssStore implements FileStore {
|
|
|
|
|
|
private OssConfig config;
|
|
private OssConfig config;
|
|
|
|
|
|
- private MimetypesFileTypeMap mimeTypes;
|
|
|
|
-
|
|
|
|
private File tempDir;
|
|
private File tempDir;
|
|
|
|
|
|
public OssStore(OssConfig config, String tempPath) {
|
|
public OssStore(OssConfig config, String tempPath) {
|
|
this.client = new OkHttpClient.Builder().connectionPool(new ConnectionPool())
|
|
this.client = new OkHttpClient.Builder().connectionPool(new ConnectionPool())
|
|
.connectTimeout(Duration.ofSeconds(10)).readTimeout(Duration.ofSeconds(30)).build();
|
|
.connectTimeout(Duration.ofSeconds(10)).readTimeout(Duration.ofSeconds(30)).build();
|
|
this.config = config;
|
|
this.config = config;
|
|
- this.mimeTypes = new MimetypesFileTypeMap();
|
|
|
|
this.tempDir = new File(tempPath);
|
|
this.tempDir = new File(tempPath);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -76,9 +73,9 @@ public class OssStore implements FileStore {
|
|
try {
|
|
try {
|
|
path = formatPath(path);
|
|
path = formatPath(path);
|
|
OssApiParam param = new OssApiParam().setContentMd5(toBase64(md5))
|
|
OssApiParam param = new OssApiParam().setContentMd5(toBase64(md5))
|
|
- .setContentType(mimeTypes.getContentType(path));
|
|
|
|
|
|
+ .setContentType(URLConnection.guessContentTypeFromName(path));
|
|
tempFile = writeToTemp(ins);
|
|
tempFile = writeToTemp(ins);
|
|
- RequestBody body = RequestBody.create(MediaType.parse(param.getContentType()), tempFile);
|
|
|
|
|
|
+ RequestBody body = RequestBody.create(null, tempFile);
|
|
Request request = new Request.Builder().url(config.getEndpoint() + "/" + path)
|
|
Request request = new Request.Builder().url(config.getEndpoint() + "/" + path)
|
|
.headers(buildHeader(param, OssSigner.buildHeader(config, "put", path, param))).put(body).build();
|
|
.headers(buildHeader(param, OssSigner.buildHeader(config, "put", path, param))).put(body).build();
|
|
Response response = client.newCall(request).execute();
|
|
Response response = client.newCall(request).execute();
|