SegmentFault minio的问题
2024-02-23T10:07:07+08:00
https://segmentfault.com/feeds/tag/minio
https://creativecommons.org/licenses/by-nc-nd/4.0/
如何统一上传至 Minio 的视频文件 ContentType 为 video/mp4?
https://segmentfault.com/q/1010000044651210
2024-02-23T10:07:07+08:00
2024-02-23T10:07:07+08:00
六二
https://segmentfault.com/u/liuer_5dad6884d8cae
0
<p>使用APP拍摄视频,然后上传至minio,有的视频文件 contentType为 video/mp4,而有的contentType 为 application/octet-stream,这是为什么呢?<br>video/mp4类型的在浏览器上可以直接预览,而application/octet-stream 类型的在部分浏览器上显示格式不支持<img width="639" height="240" src="/img/bVdbvYT" alt="image.png" title="image.png"></p><p>我使用sm3设置了http 返回的header中contentType为video/mp4,但没有生效,请问应该怎么让这个格式统一为 video/mp4呢?<img width="723" height="178" src="/img/bVdbvYV" alt="image.png" title="image.png"></p>
请教有什么开源的 亚马逊S3服务网关吗?
https://segmentfault.com/q/1010000044591906
2024-01-26T15:16:38+08:00
2024-01-26T15:16:38+08:00
sswhsz
https://segmentfault.com/u/sswhsz
0
<p>亚马逊S3作为对象服务的接口,被大量云服务厂商支持。目前有没有什么开源的S3网关呢?</p><p>需求场景类似下面场景:假如你打算自建一个支持S3接口的对象服务,对外提供你自己的 Endpoint、AccessKey、区域、桶资源等配置。除了自建底层的对象存储服务以外,作为一个可选项,也可以仅仅代理其他的支持S3接口的云厂商的对象存储服务。</p><p>S3网关MinIO有提供,简单了解了一下(可能有错误),好像只是针对单一存储桶的代理,没有留意访问MinIO网关是使用MinIO提供的AccessKey还是底层存储服务的。另外好像MinIO的S3网关已经停止更新了。</p><p>如果不考虑性能问题,S3网关似乎只需要处理AWS V4版本签名算法,对客户端的签名进行验证,之后按底层资源的AccessKey等信息重新进行签名,然后把请求内容转发给底层存储服务即可。</p><p>基于这一点,我们先做了一版最简单的S3请求转发功能(需要重新签名)。 不知道有什么开源的S3网关版本吗?</p>
MinIO 如何对上传文件进度监控?
https://segmentfault.com/q/1010000044552558
2024-01-14T13:05:50+08:00
2024-01-14T13:05:50+08:00
Alex
https://segmentfault.com/u/alex_63b3e350d9e10
0
<p>minio如何获取上传文件进度?</p><p>使用putObject,看文档并没有关于获取上传进度相关参数</p>
uniapp 使用minio 怎么导入依赖包,各种报错?
https://segmentfault.com/q/1010000044286951
2023-10-09T15:13:22+08:00
2023-10-09T15:13:22+08:00
六二
https://segmentfault.com/u/liuer_5dad6884d8cae
0
<p>救救孩子吧,快被minio逼疯啦</p><p>vue3 + uniapp + minio<br>使用 npm install minio 安装了依赖,在vue文件中用以下方式导入都会报错</p><pre><code>// import Minio from '@/minio'
import {Minio} from 'node_modules/minio/dist/main/minio.js';
// import * as Minio from 'minio';
// var Minio = require('minio')</code></pre><p><img width="723" height="57" src="/img/bVc9ZdN" alt="image.png" title="image.png"><br><img width="723" height="31" src="/img/bVc9ZdO" alt="image.png" title="image.png"></p><p>应该怎么导入呢?</p>
前端Minio只能使用put方法上传吗,可以用个post吗?
https://segmentfault.com/q/1010000044286493
2023-10-09T13:32:18+08:00
2023-10-09T13:32:18+08:00
六二
https://segmentfault.com/u/liuer_5dad6884d8cae
0
<p>我在使用uniapp + minio 上传视频。uniapp只有post方法上传文件,我想APP直传文件到minio上只能使用put方法。<br>试了很多方法都不行,能不能修改minio什么配置,用post方法上传呢?或者app里视频转文件流用put上传呢?<br>请大家帮帮我吧</p>
uniApp 中直传视频至minio。uni.uploadFile的url该怎么设置呢?
https://segmentfault.com/q/1010000044262417
2023-09-26T13:51:44+08:00
2023-09-26T13:51:44+08:00
六二
https://segmentfault.com/u/liuer_5dad6884d8cae
0
<pre><code>uni.uploadFile({
url: 'http://192.168.0.14:9090/ele/strign/file.MP4', //仅为示例,非真实的接口地址
filePath: video.src,
name: 'file.mp4',
formData: {
'user': 'test'
},
header: {
'content-type': 'multipart/form-data'
},
success: (uploadFileRes) => {
console.log('success', uploadFileRes.data);
},
complete:function(e){
console.log('直传请求uploadFile', e);
}
});</code></pre><p>用这种方式会一直报错 "errMsg": "uploadFile:fail statusCode: null"<br>我在浏览器或者postman上传使用的地址就是 <a href="https://link.segmentfault.com/?enc=ZN9sglT5emYk8K9lvZPM9g%3D%3D.EguieFOfBD%2F9bugdRX2iGsGpzMVCaz6LBR%2BkHXUkfnAcf%2BIsdlt9U6xl4TtD16ap" rel="nofollow">http://192.168.0.14:9090/ele/strign/file.MP4</a> 能够上传成功,uniapp上该如何上传呢?</p>
nginx 配置浏览器访问文件地址时验证系统是否登录?
https://segmentfault.com/q/1010000044102938
2023-08-11T13:28:00+08:00
2023-08-11T13:28:00+08:00
六二
https://segmentfault.com/u/liuer_5dad6884d8cae
0
<p>问题描述:一个web项目中,使用了minio文件服务。前端直传文件到minio上,是公共可上传和访问的。如何使用nginx配置,是用户在web系统中可以访问文件,但是退出登录后,不能在访问这个文件地址了呢?</p>
oss 可以把对象都放在同一层吗?会影响效率吗?
https://segmentfault.com/q/1010000044024992
2023-07-19T09:32:48+08:00
2023-07-19T09:32:48+08:00
ponponon
https://segmentfault.com/u/ponponon
0
<p>使用文件系统的时候,如果在一个文件夹里面放了太多文件,那么读取这个文件夹中的文件会变慢(我记得是这样)</p><p>在 <code>/images</code> 下面存放所有用户上传的所有图片,比如 <code>/images/3d278y322e9jd2.jpg</code>、<code>/images/sadhuiwehud.png</code> 这样不好</p><p>应该改成 <code>/images/3d27/3d278y322e9jd2.jpg</code>、<code>/images/sadh/sadhuiwehud.png</code> 这样,避免在一个文件夹下面存放的文件太多了</p><p>在使用 oss、s3、minio 等对象存储的时候,需要注意这一点吗?还是只要一股脑的丢在一个「文件夹」下面就好了,对象存储会帮我处理存储细节来避免各种瓶颈?</p>
minio/oss 的 python/java sdk 如何获取一个存储在 minio/oss 中的视频的时间长度?
https://segmentfault.com/q/1010000043881701
2023-06-09T09:34:10+08:00
2023-06-09T09:34:10+08:00
ponponon
https://segmentfault.com/u/ponponon
0
<p>minio 的 python/java sdk 如何获取一个存储在 minio 中的视频的时间长度?</p><p><img src="/img/bVc8hMY" alt="图片.png" title="图片.png"></p><p>假设,我上传了一个视频 mp4 文件到 minio 的 bucket 中。</p><p>现在我有一个需求,获取这个 mp4 文件的视频时长</p><p>但是怎么做到?</p><p>我并不想下载视频到本地在本地判断(但是下载比如前512字节是可以接受的,但是通过前 512 字节,足够判断吗?)</p><p>同样的问题,我还想问 oss、s3 等等对象存储有什么解决方案?</p><p>视频是直接在前端上传的,minio、oss、s3 这些可以在上传的时候,就自定义一些存储字段吗?用这些自定义的存储字段存储视频时长?</p>
【minio】minio 错误信息是 read?
https://segmentfault.com/q/1010000043685689
2023-04-18T00:57:01+08:00
2023-04-18T00:57:01+08:00
已注销
https://segmentfault.com/u/ikala
0
<p><img src="/img/bVc7sN2" alt="image.png" title="image.png"><br>图片中这个 read 是怎么来的?</p>
filezilla 可以连接 minio、s3、aliyun oss 吗?
https://segmentfault.com/q/1010000043641628
2023-04-10T13:53:11+08:00
2023-04-10T13:53:11+08:00
ponponon
https://segmentfault.com/u/ponponon
0
<p><img src="/img/bVc7hlk" alt="图片.png" title="图片.png"></p><p><img src="/img/bVc7hln" alt="图片.png" title="图片.png"></p>
在linux中测试minio ./minio出现段错误(吐核)怎么解决?
https://segmentfault.com/q/1010000043533814
2023-03-13T21:25:21+08:00
2023-03-13T21:25:21+08:00
赵烧鸡排饭
https://segmentfault.com/u/zhaoshaojipaifan
-1
<p><img src="/img/bVc6Pio" alt="image.png" title="image.png"></p>
minio 前端页面下载带中文名称的文件,文件名变成乱码了怎么办?
https://segmentfault.com/q/1010000043507717
2023-03-07T09:59:31+08:00
2023-03-07T09:59:31+08:00
ponponon
https://segmentfault.com/u/ponponon
0
<p>我用 docker 跑了一个 minio</p><pre><code class="yaml">version: "3"
services:
public_minio:
container_name: public_minio
image: minio/minio
ports:
- "9000:9000" # client port
- "9002:9002" # console port
command: server /data --console-address ":9002" #指定容器中的目录 /data
environment:
MINIO_ACCESS_KEY: ponponon #管理后台用户名
MINIO_SECRET_KEY: ponponon #管理后台密码,最小8个字符
</code></pre><p><img src="/img/bVc6Ivb" alt="图片.png" title="图片.png"></p><p>minio 的前端页面显示正常的,但是下载到本地的文件,变成蝌蚪文了</p><p><img src="/img/bVc6IvI" alt="图片.png" title="图片.png"></p><p>上传文件,我不是通过前端上传的,是写了一段 python 代码</p><pre><code class="python">import os
from loguru import logger
from pathlib import Path
from mark import BASE_DIR
import multiprocessing
import itertools
from typing import Generator, Callable
from concurrent.futures.thread import ThreadPoolExecutor
def upload(snapshot_filename: Path):
try:
from core.minio.crud import exist, upload, upload_file
# print(str(snapshot_filename))
_key = str(snapshot_filename).removeprefix('resource/')
if not exist(_key):
# with open(snapshot_filename, 'rb') as f:
upload_file(snapshot_filename, _key)
except Exception as error:
logger.exception(error)
# os.remove(image)
def process_func(snapshot_filenames: list[Path]):
try:
pool = ThreadPoolExecutor(max_workers=1)
assert isinstance(snapshot_filenames, list)
assert isinstance(snapshot_filenames[0], Path)
for snapshot_filename in snapshot_filenames:
pool.submit(upload, snapshot_filename)
pool.shutdown(wait=True)
except Exception as error:
logger.exception(error)
def gen(snapshot_filenames: list[Path]):
for snapshot_filename in snapshot_filenames:
yield snapshot_filename
if __name__ == "__main__":
snapshot_dir = Path(
'resource/video')
snapshot_filenames: list[Path] = []
for item in os.walk(snapshot_dir):
dirpath, dirnames, filenames = item
dirpath: str
dirnames: list[str]
filenames: list[str]
for filename in filenames:
snapshot_filenames.append(Path(dirpath)/filename)
snapshot_filenames = [
i for i in snapshot_filenames]
snapshot_filenames.sort()
logger.debug(f'一共有 {len(snapshot_filenames)} 个文件')
pool = multiprocessing.Pool(processes=1)
# snapshot_filenames = snapshot_filenames[:1]
logger.debug(f'snapshot_filenames len: {len(snapshot_filenames)}')
gg = gen(snapshot_filenames)
for _snapshot_filenames in iter(
lambda: list(itertools.islice(gg, 1000)),
[]
):
pool.apply_async(process_func, (_snapshot_filenames,))
logger.debug(f'投递完成')
pool.close()
pool.join()
</code></pre>
可以用 minio python sdk 操作 aliyun oss 吗?
https://segmentfault.com/q/1010000043469267
2023-02-24T17:27:04+08:00
2023-02-24T17:27:04+08:00
ponponon
https://segmentfault.com/u/ponponon
0
<p>最新知道了这么一个事情:『通过minio gateway得方式,还可以支持阿里云的OSS,百度的BOS,腾讯的COS。minio可以使用外部的』</p><p>这里的 minio gateway 是 minio server 上的</p><p>我有办法不需要 minio server,而是直接通过 mino 的 python sdk 操作 aliyun oss?</p><p>minio 是 s3 兼容的,aliyun oss 也是 s3 兼容的吗?如果都兼容的话,sdk 可以互换吗?</p><p><img src="/img/bVc6yuO" alt="图片.png" title="图片.png"></p>
搭建文件服务器后,存储的视频文件,如何提高在线访问的速率的并发?
https://segmentfault.com/q/1010000043417611
2023-02-13T13:38:10+08:00
2023-02-13T13:38:10+08:00
axianga
https://segmentfault.com/u/axianga
0
<h3>问题描述</h3><p>搭建文件服务器后,如果用于存储视频文件,文件服务器一般会提供一个url,以供外网访问,直接考虑在线访问视频的话,如何提高在线观看视频的效率,暂不考虑CDN的情况,有其他方法可以优化或者实现吗</p>
minio 的 python sdk 如何判断一个 object 是否存在?
https://segmentfault.com/q/1010000043414009
2023-02-11T21:46:15+08:00
2023-02-11T21:46:15+08:00
ponponon
https://segmentfault.com/u/ponponon
0
<p>我用 『"python" "minio" determines whether an object exists』 去谷歌搜索了一圈,居然没有找到答案</p><p>minio 作为一个成熟的对象存储,不能连这个基础 API 都没有吧?</p>
Springboot 上传接受文件上传参数 null,Configuration注入bean 失败?
https://segmentfault.com/q/1010000042678504
2022-10-24T16:02:40+08:00
2022-10-24T16:02:40+08:00
菠菜
https://segmentfault.com/u/bocai_59f69050a1db5
0
<p>新手 最近在做一个上传的功能</p><pre><code> @Resource
MinioUtils minioUtils;
@PostMapping("/upload")
@ApiOperation("文件上传")
@ResponseBody
public List<String> upload(@RequestParam(name = "file", required = false) MultipartFile[] file){
if(file == null || file.length == 0){
throw new CustomException(CustomExceptionType.USER_INPUT_ERROR,"上传文件不能为空");
}
List<String> upload = minioUtils.uploads(file);
return upload;
}</code></pre><p>这是我文件上传的 代码, 接收到的file 一直是null 请问这个要怎么处理呢</p><p>我搜索了下 有些人说要注入一个BEAN</p><pre><code>@Configuration
@EnableAutoConfiguration(exclude={MultipartAutoConfiguration.class})
public class UploadConfig {
@Bean(name="multipartResolver")
public MultipartResolver multipartResolver(){
return new CommonsMultipartResolver();
}
}
</code></pre><p>但是我注入的时候一直报错</p><pre><code>org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'multipartResolver' defined in class path resource [com/szhb/backend/config/UploadConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.multipart.MultipartResolver]: Factory method 'multipartResolver' threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/fileupload/disk/DiskFileItemFactory
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.12.jar:5.3.12]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.12.jar:5.3.12]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.5.6.jar:2.5.6]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) [spring-boot-2.5.6.jar:2.5.6]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) [spring-boot-2.5.6.jar:2.5.6]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:338) [spring-boot-2.5.6.jar:2.5.6]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) [spring-boot-2.5.6.jar:2.5.6]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1332) [spring-boot-2.5.6.jar:2.5.6]
at com.szhb.backend.BackendApplication.main(BackendApplication.java:16) [classes/:na]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.multipart.MultipartResolver]: Factory method 'multipartResolver' threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/fileupload/disk/DiskFileItemFactory
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.12.jar:5.3.12]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.12.jar:5.3.12]
... 19 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/disk/DiskFileItemFactory
at org.springframework.web.multipart.commons.CommonsFileUploadSupport.newFileItemFactory(CommonsFileUploadSupport.java:205) ~[spring-web-5.3.12.jar:5.3.12]
at org.springframework.web.multipart.commons.CommonsFileUploadSupport.<init>(CommonsFileUploadSupport.java:77) ~[spring-web-5.3.12.jar:5.3.12]
at org.springframework.web.multipart.commons.CommonsMultipartResolver.<init>(CommonsMultipartResolver.java:97) ~[spring-web-5.3.12.jar:5.3.12]
at com.szhb.backend.config.UploadConfig.multipartResolver(UploadConfig.java:19) ~[classes/:na]
at com.szhb.backend.config.UploadConfig$$EnhancerBySpringCGLIB$$21d563eb.CGLIB$multipartResolver$0(<generated>) ~[classes/:na]
at com.szhb.backend.config.UploadConfig$$EnhancerBySpringCGLIB$$21d563eb$$FastClassBySpringCGLIB$$191b5c2e.invoke(<generated>) ~[classes/:na]
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.3.12.jar:5.3.12]
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.3.12.jar:5.3.12]
at com.szhb.backend.config.UploadConfig$$EnhancerBySpringCGLIB$$21d563eb.multipartResolver(<generated>) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_291]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_291]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_291]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_291]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.12.jar:5.3.12]
... 20 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.disk.DiskFileItemFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[na:1.8.0_291]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[na:1.8.0_291]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) ~[na:1.8.0_291]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[na:1.8.0_291]
... 34 common frames omitted</code></pre><p>大佬们帮我看看呢</p>
minio数据迁移到阿里云oss有什么好的方案吗?
https://segmentfault.com/q/1010000042373584
2022-08-25T10:37:05+08:00
2022-08-25T10:37:05+08:00
malie0
https://segmentfault.com/u/malie0
0
<p>有什么工具可以用的?网上也没找到这方面的资料</p>
minio web的管理界面有中文吗?
https://segmentfault.com/q/1010000042181876
2022-07-17T11:11:45+08:00
2022-07-17T11:11:45+08:00
ponponon
https://segmentfault.com/u/ponponon
0
<p><img src="/img/bVc09AT" alt="图片.png" title="图片.png"></p><p>有中文可以切换吗?</p>
python 操作 oss,除了 oss2 还有更加好用的库吗?
https://segmentfault.com/q/1010000041888833
2022-05-24T13:11:11+08:00
2022-05-24T13:11:11+08:00
ponponon
https://segmentfault.com/u/ponponon
0
<p><code>python</code> 下使用 <code>oss</code> 都用 <code>aliyun</code> 给的 <code>oss2</code>,但是这个库,有点反直觉,有更好的库吗?</p><p><code>oss</code> 可以看做一个 <code>file system</code>,所以我觉得,可以把 <code>oss</code> 的操作统一封装为对 fs 的操作</p><p>比如下载 <code>oss</code> 的资源就用 <code>read</code>,上传就用 <code>write</code>,查看一个文件夹下的所有文件就用 <code>listdir</code> 等等</p><p>还有就是最好有一个库,可以兼容多个对象存储,比如 <code>aliyun</code> 的 <code>s3</code>、<code>aws</code> 的 <code>s3</code>,还有 <code>minio</code> 等等</p>
VUE无法直接上传文件到MinIO,提示 _fs.default.stat is not a function ?
https://segmentfault.com/q/1010000039667388
2021-03-18T19:30:07+08:00
2021-03-18T19:30:07+08:00
嘿嘿嘿嘿
https://segmentfault.com/u/heiheiheihei_5facf531d906e
0
<h3>问题描述</h3><p>vue 文件不通过后台直接上传到minio中报错</p><p>图片</p><ul><li>fPutObject 方法报错: <img src="/img/bVcQBst" alt="image.png" title="image.png"></li><li>putObject 方法出现问题: <img src="/img/bVcQBsA" alt="image.png" title="image.png"></li></ul><h3>尝试过哪些方法</h3><ul><li>npm install fs</li><li>npm install file-system</li><li>npm install @types/node</li></ul><p>除去上述 fPutObject 和 putObject 都尝试过</p><h3>相关代码</h3><p>代码只粘贴了 fPutObject的相关片段</p><pre><code>var Minio = require('minio')
function test (files){
var minioClient = new Minio.Client({
endPoint: '10.10.10.110',
port: 11110,
useSSL: false,
accessKey: '1110',
secretKey: '1110111'
});
var metaData = {
'Content-Type': 'image/png',
}
minioClient.fPutObject('caic5', '侧视图.png',"d://download/侧视图.png", metaData, function(err, etag) {
if (err) return console.log(err)
console.log('File uploaded successfully.-------------------- ' + etag)
});
}
export {
test
}</code></pre><h3>你期待的结果是什么?实际看到的错误信息又是什么?</h3><ul><li>解决fs报错问题 或 解决vue 通过 putObject上传图片后可以预览?</li><li>为什么报错?</li></ul>