Appearance
文件上传
本地文件存储服务。可在(系统工具 -> 文件上传)中管理文件。
配置
在配置文件中配置上传信息。
yaml
# vivy-modules/vivy-system/src/config/config.yaml
upload:
path: ${{ PWD }}/uploads
prefix: /uploads
# domain: http://localhost:${{ app.port }}
把上传的文件作为静态文件响应。
ts
// vivy-modules/vivy-system/src/main.ts
async function bootstrap() {
// ...
app.useStaticAssets(config.get('upload.path'), { prefix: config.get('upload.prefix') })
// ...
}
装饰器
通过指定的装饰器获取文件访问地址。
@UploadFileUrl()
ts
import { UploadFileUrl } from '../upload/upload.decorator'
export class FileController {
@Post('upload')
@UseInterceptors(FileInterceptor('file'))
async upload(@UploadFileUrl() url: string): Promise<AjaxResult> {
console.log(url)
// '/uploads/1723965589601fc7229032d084cf4a39ad492507bbe51.png'
}
}
@UploadFileUrls()
ts
import { UploadFileUrls } from '../upload/upload.decorator'
export class FileController {
@Post('uploads')
@UseInterceptors(FilesInterceptor('files'))
async uploads(@UploadFileUrls() urls: string[]): Promise<AjaxResult> {
console.log(urls)
// [
// '/uploads/1723965589601fc7229032d084cf4a39ad492507bbe51.png',
// '/uploads/1723797787911ce4b6fe1c4c848189e0ca5330f607b65.png'
// ]
}
}