Comments (11)
请提供你的代码
from x-file-storage.
service:
public FileDetail upload(@NonNull MultipartFile file, boolean generateThumbnail) {
String contentType = file.getContentType();
FileInfo info = storageService.of(file)
// 缩略图配置
.thumbnail(generateThumbnail &&
contentType != null &&
contentType.matches("^image/(jpeg|png|gif)$"))
// 相对路径设置为日期
.setPath(FastDateFormat.getInstance("yyyy/MM/dd/").format(new Date()))
.upload();
return BeanUtil.copyProperties(info, FileDetail.class);
}
配置文件:
spring:
# 文件存储配置
file-storage:
default-platform: amazon-s3-1 # 默认使用的存储平台
thumbnail-suffix: .min.png # 缩略图后缀
# 对应平台的配置
amazon-s3:
- platform: amazon-s3-1 # 存储平台标识
enable-storage: true # 启用存储
access-key:
secret-key:
end-point: http://localhost:7480
bucket-name: demo
domain: ${spring.file-storage.amazon-s3[0].endpoint}/${spring.file-storage.amazon-s3[0].bucket-name}/ # 访问域名, 注意"/"结尾
from x-file-storage.
好的,再提供一下依赖版本以及上传的文件大小,你自己也可以尝试换个依赖版本试一下
from x-file-storage.
这个出现的原因是上传失败,s3的SDK有重试的行为,重试时会重新读取流,就发生了这种情况
from x-file-storage.
还有你连接的是s3的服务器,还是其它?
from x-file-storage.
好的,再提供一下依赖版本以及上传的文件大小,你自己也可以尝试换个依赖版本试一下
我用的1.0.1, 升级到1.0.3后也有这个问题
文件大小不到1mb, 在几秒内多次上传会出现这个问题
from x-file-storage.
还有你连接的是s3的服务器,还是其它?
用的是自己部署的ceph
我试了用ZFile上传没问题
from x-file-storage.
这个出现的原因是上传失败,s3的SDK有重试的行为,重试时会重新读取流,就发生了这种情况
应该是这个原因, 我试着改了下MultipartFileWrapper.getInputStream中创建流的缓冲区大小, 就没有再出现了:
public InputStream getInputStream() throws IOException {
if (this.inputStream == null) {
this.inputStream = new BufferedInputStream(this.file.getInputStream(), RequestClientOptions.DEFAULT_STREAM_BUFFER_SIZE);
}
return this.inputStream;
}
from x-file-storage.
好的,我这边也处理一下
from x-file-storage.
这个问题已修复,已提交到dev分支,等下个版本一起发布,你可以先拉取dev分支验证一下
from x-file-storage.
验证成功,期待新版本发布
from x-file-storage.
Related Issues (20)
- download方法只能下载通过FileRecorder存入数据库中的文件吗 HOT 7
- 上传文件返回的URL中没有bucket路径 HOT 4
- 前端获取大文件上传进度 HOT 5
- 视频上传速度太慢 HOT 1
- 未能重置输入流 HOT 4
- 文件多大会自动分片,可以设置阈值吗,30M的文件可以自动分片吗,因为会同时有好多人上传视频,感觉有点慢 HOT 4
- 直接上传报错 HOT 30
- 请问为什么静态资源处理器fileStorageWebMvcConfigurer不起作用呢? HOT 14
- FTP图片上传OSS图片处理失败 HOT 3
- 是否支持批量上传 HOT 3
- 将来会支持git吗(如gitee/github)? HOT 1
- Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.dromara.x.file.storage.core.FileStorageService.of(Ljava/lang/Object;)Lorg/dromara/x/file/storage/core/UploadPretreatment HOT 2
- 有计划适配GoFastDfs吗 HOT 4
- 升级 hutool 版本 HOT 1
- 路径中存在双斜线 HOT 1
- 大文件下载卡主不动 HOT 9
- 分片上传数据失败 HOT 2
- 视频预览图 HOT 1
- 使用ruoyi springboot时 本地存储引擎的静态资源无法访问 HOT 2
- FileStorageService could not be found.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from x-file-storage.