coding-socks / multipart-of-madness
此软件包帮助您将库与@uppy/aws-s3-multipart集成。
v0.1.1
2024-05-19 15:49 UTC
Requires
- php: ^8.0
- illuminate/filesystem: ^9.0 || ^10.0 || ^11.0
- illuminate/support: ^9.0 || ^10.0 || ^11.0
- league/flysystem-aws-s3-v3: ^3.0
Requires (Dev)
- orchestra/testbench: ^7.3 || ^8.0 || ^9.0
- phpunit/phpunit: ^9.5 || ^10.0
This package is auto-updated.
Last update: 2024-09-19 16:26:45 UTC
README
此软件包帮助您将库与@uppy/aws-s3-multipart
集成。
安装
您可以使用Composer轻松安装此软件包。
composer require coding-socks/multipart-of-madness
您必须安装@uppy/aws-s3-multipart
才能将其用作上传器。
npm i -D @uppy/aws-s3-multipart
用法
使用AwsS3Multipart
上传器配置Uppy。
uppy.use(AwsS3Multipart, { companionUrl: '/uppy', shouldUseMultipart(file) { return file.size > 10 * 1024 * 1024; } }) uppy.addPreProcessor(() => { return new Promise((resolve) => { const cookieName = window.axios.defaults.xsrfCookieName const headerName = window.axios.defaults.xsrfHeaderName /** @type {AwsS3Multipart} */ const plugin = uppy.getPlugin('AwsS3Multipart') plugin?.setOptions({ // You have to implement `cookies.read` companionHeaders: {[headerName]: cookies.read(cookieName)}, }) resolve() }) })
配置您的S3或兼容S3解决方案的CORS。它需要允许来自您的域的GET和PUT请求,并暴露一些不安全的HTTP头信息给Uppy。示例
[ { "AllowedOrigins": ["https://my-app.com"], "AllowedMethods": ["GET", "PUT"], "MaxAgeSeconds": 3000, "AllowedHeaders": [ "Authorization", "x-amz-date", "x-amz-content-sha256", "content-type" ], "ExposeHeaders": ["ETag", "Location"] } ]
默认值
签名链接的过期时间为15分钟
。
目标文件系统磁盘为s3
。
在web
路由下注册的端点路由具有/uppy
前缀。
实现
此实现使用PutObject命令替代非分块上传请求中的PostObject。这仅适用于与Backblaze B2和Cloudflare R2的兼容性。@uppy/companion使用PostObject。
所有其他路由都是基于@uppy/companion实现的。