上传%&下载
import { Controller, Get, Post, Body, Patch, Param, Delete, UseInterceptors, UploadedFile, Res } from '@nestjs/common';
import { UploadService } from './upload.service';
import { CreateUploadDto } from './dto/create-upload.dto';
import { UpdateUploadDto } from './dto/update-upload.dto';
import { FileInterceptor, FilesInterceptor } from '@nestjs/platform-express';
import type { Response } from "express"
import { join } from 'path'
import { zip } from 'compressing';
@Controller('upload')
export class UploadController {
constructor(private readonly uploadService: UploadService) { }
@Post('album')
@UseInterceptors(FileInterceptor('file'))
upload(@UploadedFile() file) {
console.log(file, 'FILE');
return '在坚持一下'
}
@Get('export')
download(@Res() res: Response) {
const downloadUrl = join(__dirname, '../images/1758202235857.png')
res.download(downloadUrl)
return '下载成功!'
}
@Get('stream')
async down(@Res() res: Response) {
const downloadUrl = join(__dirname, '../images/1758202235857.png')
const StrZip = new zip.Stream()
await StrZip.addEntry(downloadUrl)
res.setHeader('Content-Type', 'application/octet-stream')
res.setHeader('Content-Disposition', 'attachment; filename=testFile')
StrZip.pipe(res)
}
}