-
client = new ObsClient(AK, SK, endpoint); try { PutObjectRequest request = new PutObjectRequest { BucketName = bucketName, ObjectKey = "wl-upload", InputStream = new MemoryStream(Encoding.UTF8.GetBytes("Hello OBS")) }; PutObjectResponse response = client.PutObject(request); Console.WriteLine(response.StatusCode); } catch (ObsException ex) { Console.WriteLine($"Message:{ex.Message}"); Console.WriteLine($"ErrorCode:{ex.ErrorCode}"); Console.WriteLine($"ErrorMessage:{ex.ErrorMessage}"); }
-
问题1:我的个人账号,上传zip包到OBS,zip包内文件数量超过480个左右就不解压了,官方文档说明的限制数量是65536个。问题2:在线解压策略在修改过后,策略列表里面只有一个策略,但实际解压过程中,修改前后的策略都存在。
-
Provisional headers are shown(failed)Error: write ECONNRESET
-
@Override public Map preUpload(Long userId, String name) { String key = this.getStorePath(name); Map headers = Maps.newHashMap(); String contentType = "multipart/form-data"; headers.put("Content-Type", contentType); TemporarySignatureRequest request = new TemporarySignatureRequest(HttpMethodEnum.PUT, EXPIRE_SECONDS); request.setBucketName(this.bucket); request.setObjectKey(key); request.setHeaders(headers); TemporarySignatureResponse response = this.client.createTemporarySignature(request); Map retMaps = Maps.newHashMap(); if (response.getActualSignedRequestHeaders() != null) { retMaps.putAll(response.getActualSignedRequestHeaders()); } retMaps.put("signedUrl", response.getSignedUrl()); retMaps.put("objectKey", key); retMaps.put("objectUrl", this.domain + "/" + key); return retMaps; }生成signedURL的代码如上。curl上传:curl -vvv -XPUT -F file=@~/Downloads/a.jpg -H "Host":"xxx.obs.cn-north-4.myhuaweicloud.com:443" "https://xxx.obs.cn-north-4.myhuaweicloud.com:443/2022/9/164019027708483aa0c14b1500fef524.jpg?AccessKeyId=FWY7XWJASR4VVIC61T5J&Expires=1666168073&Signature=170Jz5OJ5yCVp4tvw4zRVtLAzkc="报错信息:* Trying 121.36.121.227:443...* Connected to xxx.obs.cn-north-4.myhuaweicloud.com (121.36.121.227) port 443 (#0)* ALPN, offering h2* ALPN, offering http/1.1* successfully set certificate verify locations:* CAfile: /etc/ssl/cert.pem* CApath: none* (304) (OUT), TLS handshake, Client hello (1):* (304) (IN), TLS handshake, Server hello (2):* TLSv1.2 (IN), TLS handshake, Certificate (11):* TLSv1.2 (IN), TLS handshake, Server key exchange (12):* TLSv1.2 (IN), TLS handshake, Server finished (14):* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):* TLSv1.2 (OUT), TLS handshake, Finished (20):* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):* TLSv1.2 (IN), TLS handshake, Finished (20):* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384* ALPN, server accepted to use http/1.1* Server certificate:* subject: C=CN; ST=Jiangsu; L=Nanjing; OU=Cloudbu SRE Dept; O=Huawei Software Technologies Co., Ltd; CN=obs.cn-north-4.myhuaweicloud.com* start date: Mar 10 08:43:12 2022 GMT* expire date: Apr 11 08:43:11 2023 GMT* subjectAltName: host "xxx.obs.cn-north-4.myhuaweicloud.com" matched cert's "*.obs.cn-north-4.myhuaweicloud.com"* issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign RSA OV SSL CA 2018* SSL certificate verify ok.> PUT /2022/9/164019027708483aa0c14b1500fef524.jpg?AccessKeyId=FWY7XWJASR4VVIC61T5J&Expires=1666168073&Signature=170Jz5OJ5yCVp4tvw4zRVtLAzkc= HTTP/1.1> Host:xxx.obs.cn-north-4.myhuaweicloud.com:443> User-Agent: curl/7.79.1> Accept: */*> Content-Length: 96873> Content-Type: multipart/form-data; boundary=------------------------9506b7c7756b845f>* We are completely uploaded and fine* Mark bundle as not supporting multiuse< HTTP/1.1 403 Forbidden< Server: OBS< x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCS5moaEhghfPNrWmAFINf6rDEeGfThKh< x-obs-request-id: 00000183EF532194D3C92713511D5ED7< x-reserved-indicator: 389< Content-Length: 1105<SignatureDoesNotMatchThe request signature we calculated does not match the signature you provided. Check your key and signing method.00000183EF532194D3C92713511D5ED7xTW3LcCLT6dEuMOUSS813JcUANbtTcnqLYud9HGDpYui+MBB+XJteT6i8R4a547CFWY7XWJASR4VVIC61T5J170Jz5OJ5yCVp4tvw4zRVtLAzkc=PUTmultipart/form-data; boundary=------------------------9506b7c7756b845f1666168073* Connection #0 to host xxx.obs.cn-north-4.myhuaweicloud.com left intact/xxx/2022/9/164019027708483aa0c14b1500fef524.jpg50 55 54 0a 0a 6d 75 6c 74 69 70 61 72 74 2f 66 6f 72 6d 2d 64 61 74 61 3b 20 62 6f 75 6e 64 61 72 79 3d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 39 35 30 36 62 37 63 37 37 35 36 62 38 34 35 66 0a 31 36 36 36 31 36 38 30 37 33 0a 2f 78 79 74 33 36 30 2f 32 30 32 32 2f 39 2f 31 36 34 30 31 39 30 32 37 37 30 38 34 38 33 61 61 30 63 31 34 62 31 35 30 30 66 65 66 35 32 34 2e 6a 70 67% 应该怎么生成临时授权的URL,能上传图片呢
-
通过以下几种方式将桶xsyx-test-zjn下的A/目录挂载到主机的/home/A目录下。方式一:obsfs命令行示例:./obsfs xsyx-test-zjn:/A /home/A -o url=obs.cn-south-1.myhuaweicloud.com -o passwd_file=/etc/passwd-obsfs -o big_writes -o max_write=131072 -o use_ino方式二:mount -t obsfs示例:ln -s /path/to/obsfs /usr/sbin/mount.obsfsmount -t obsfs xsyx-test-zjn:/A /home/A -o url=obs.cn-south-1.myhuaweicloud.com -o passwd_file=/etc/passwd-obsfs -o big_writes -o max_write=131072 -o use_ino方式三:mount -t fuse示例:export PATH=$PATH:/path/to/obsfsmount -t fuse.obsfs xsyx-test-zjn:/A /home/A -o url=obs.cn-south-1.myhuaweicloud.com -o passwd_file=/etc/passwd-obsfs -o big_writes -o max_write=131072 -o use_ino方式四:fstab自动挂载示例:/etc/fstab中加入:xsyx-test-zjn:/A /home/A obsfs url=obs.cn-south-1.myhuaweicloud.com,passwd_file=/etc/passwd-obsfs,big_writes,max_write=131072,use_ino 0 0
-
let _obsClient = new ObsClient({ access_key_id: 'xxx', secret_access_key: 'xxx', server: 'xxx', }); _obsClient.putObject( { Bucket: 'xxx', Key: 'test1', SourceFile: params.file, }, function (err, result) { if (err) { console.log('Error-->', err); } else { console.log('success-->', result); } } );代码如上设置了 ak sk 和cors策略配置都ok,请求200,但是返回sdk内部报错了
-
对于OBS文件ACl类型为私有读写的图片文件,图片文件url需要授权才能获取。如何给文字识别OCR服务授权获取图片?
-
OBS nodejs 没办法获取 进度 速度吗?
-
OBS断点续传,暂停后多长时间内可以继续上传?有没有时间限制?
-
OBS初始化及上传代码均为文档复制后替换了必要参数,但是调用这个放大就会报错。
-
调用OBS C SDK 的append_object接口追加写OBS文件,OBS概率性报错,报错信息为:with OBS error code:ErrorUnknown message: Where you proposed append to is not equal to length.推测是前面的报文没有及时下盘,导致当前报文写入错误。请问这种推测是否正确,如果正确应该如何规避;如果不正确请告知报错原因。
-
为什么PHP OBS 删除文件夹中的对象,连文件夹都被删除了?例如建了一个文件夹 /img要删除img中的图片 /img/1.jpg; 执行删除之后,img文件夹也被删除了。怎么做到只删除文件夹的文件,不删除文件夹?
-
obsfs官方只支持centos7.X,但旧服务器多是6.X甚至更低。以下是6.x下替换运行库来安装的方法,install.sh安装需要升级libc,编译安装可以不用动libc,只需要手动升级gcc,c++1. #CentOS 6.10下脚本安装obsfs #~~~~~有问题的库~~~~~~ #libc.so.6 (glibc) #libstdc++.so.6 (gcc) 依赖:glibc-headers和gcc-c++ #libxml2.so.2 (libxml2) 依赖:python-devel.x86_64 #libfuse.so.2(fuse) #~~~~~~~~~~~~~~~~~~ #安装高版本glibc wget http://ftp.gnu.org/gnu/glibc/glibc-2.19.tar.gz tar xvf glibc-2.19.tar.gz cd glibc-2.19 mkdir build cd build ../configure -prefix=/usr -disable-profile -enable-add-ons -with-headers=/usr/include make make install #手动替换 mv /lib64/libc.so.6 /lib64/libc.so.6.bak cp /root/obsfs_CentOS7.6_amd64/glibc-2.19/build/libc.so.6 /lib64/libc.so.6 yum install glibc-headers yum install gcc-c++ wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz tar zxvf gcc-7.3.0.tar.gz cd gcc-7.3.0 ./contrib/download_prerequisites mkdir build cd build/ ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib make #编译时间很长,大概要一个半小时左右 make install #手动替换库文件 mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak cp /usr/local/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 yum install python-devel.x86_64 wget http://xmlsoft.org/sources/libxml2-2.9.12.tar.gz tar zxvf libxml2-2.9.12.tar.gz cd libxml2-2.9.12 ./configure make make install #手动替换库文件 mv /usr/lib64/libxml2.so.2 /usr/lib64/libxml2.so.2.bak cp /usr/local/lib/libxml2.so.2.9.12 /usr/lib64/libxml2.so.2 # 没有找到可以wget的地址,准备fuse-2.9.3.tar.gz的包,需要2.9.2以上。 tar zxvf fuse-2.9.3.tar.gz cd fuse-2.9.3 ./configure --host=mipsel-linux make make install modprobe fuse #替换 mv /lib64/libfuse.so.2 /lib64/libfuse.so.2.bak cp /usr/local/lib/libfuse.so.2.9.3 /lib64/libfuse.so.2 #安装obsfs同7.6 wget https://obs-community.obs.cn-north-1.myhuaweicloud.com/obsfs/current/obsfs_CentOS7.6_amd64.tar.gz tar xzvf obsfs_CentOS7.6_amd64.tar.gz cd obsfs_CentOS7.6_amd64 ./install_obsfs.sh yum install -y openssl-devel fuse fuse-devel ./obsfs --version echo MMBQRAIDWSFSWERWPZD8:cZlIPnjk9Yq4h8nFmn9trQDeNfU5YYWubTYZx3zc > /etc/passwd-obsfs chmod 600 /etc/passwd-obsfs mkdir /obsfs ./obsfs nas-obs /obsfs -o url=obs.cn-east-2.myhuaweicloud.com -o passwd_file=/etc/passwd-obsfs -o max_write=131072 [root@obsfstest-temp obsfs_CentOS7.6_amd64]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 8.2G 30G 23% / tmpfs 939M 0 939M 0% /dev/shm obsfs 256T 0 256T 0% /obsfs 2. #编译安装obsfs yum install -y gcc libstdc++-devel gcc-c++ fuse fuse-devel curl-devel libxml2-devel mailcap git automake make openssl-devel #安装高版本fuse yum remove fuse-devel wget https://its-public.obs.cn-east-2.myhuaweicloud.com/fuse-2.9.7.tar.gz tar zxvf fuse-2.9.7.tar.gz cd fuse-2.9.7 ./configure make make install rm -f /usr/lib64/libfuse.so rm -f /usr/lib64/libfuse.so.2 ln -s /usr/lib64/libfuse.so.2.9.7 /usr/lib64/libfuse.so ln -s /usr/lib64/libfuse.so.2.9.7 /usr/lib64/libfuse.so.2 echo -e '\n/usr/local/lib' >> /etc/ld.so.conf export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/:/usr/local/lib/pkgconfig modprobe fuse ldconfig pkg-config --modversion fuse #安装高版本gcc yum install glibc-headers yum install gcc-c++ wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz tar zxvf gcc-7.3.0.tar.gz cd gcc-7.3.0 ./contrib/download_prerequisites mkdir build cd build/ ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib make #编译时间很长,大概要一个半小时左右 make install #手动替换库文件 mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak cp /usr/local/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 #编译安装高版本curl wget https://curl.se/download/archeology/curl-7.29.0.tar.gz --no-check-certificate tar zxvf curl-7.29.0.tar.gz cd curl-7.29.0 ./configure make make install #编译安装obsfs软件 cd ~ git clone https://github.com/huaweicloud/huaweicloud-obs-obsfs.git cd huaweicloud-obs-obsfs bash build.sh make make install #运行还是要替换一个库 rm /usr/lib64/libstdc++.so.6 ln -s /usr/local/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 obsfs --version echo MMBQRAIDWSFSWERWPZD8:cZlIPnjk9Yq4h8nFmn9trQDeNfU5YYWubTYZx3zc > /etc/passwd-obsfs chmod 600 /etc/passwd-obsfs mkdir /obsfs ./obsfs nas-obs /obsfs -o url=obs.cn-east-2.myhuaweicloud.com -o passwd_file=/etc/passwd-obsfs -o max_write=131072 *3 # 编译安装S3fs yum -y install s3cmd.noarch yum -y install git libcurl-devel libxml2-devel automake gcc-c++ openssl-devel #安装高版本fuse yum remove fuse-devel wget https://its-public.obs.cn-east-2.myhuaweicloud.com/fuse-2.9.7.tar.gz tar zxvf fuse-2.9.7.tar.gz cd fuse-2.9.7 ./configure make make install rm -f /usr/lib64/libfuse.so rm -f /usr/lib64/libfuse.so.2 ln -s /usr/lib64/libfuse.so.2.9.7 /usr/lib64/libfuse.so ln -s /usr/lib64/libfuse.so.2.9.7 /usr/lib64/libfuse.so.2 echo -e '\n/usr/local/lib' >> /etc/ld.so.conf export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/:/usr/local/lib/pkgconfig modprobe fuse ldconfig pkg-config --modversion fuse git clone https://github.com/s3fs-fuse/s3fs-fuse.git cd s3fs-fuse/ ./autogen.sh ./configure make make install echo MMBQRAIDWSFSWERWPZD8:cZlIPnjk9Yq4h8nFmn9trQDeNfU5YYWubTYZx3zc > /etc/passwd-s3 chmod 600 /etc/passwd-s3 mkdir /s3fs s3fs nas-obs /s3fs -o url=http://obs.cn-east-2.myhuaweicloud.com -o passwd_file=/etc/passwd-s3
-
使用临时URL进行授权访问:通过OBS生成临时URL返回前端,前端能否通过临时URL进行断点续传?
-
Java后端、断点续传过程中,如何暂停上传,终止上传任务?
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第三期2026/08/21 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;念擎-华为云AI开发者运营案例开发专家
本期直播内容:AI六层能力首次详细解读 + 新一代华为云开发者空间亮相 + 校园案例直播带练
回顾中
热门标签