最近我使用adonis 5作为后端,在我当前的项目中,我需要使用驱动器存储并返回文件以便在前端下载这在adonisjs 4.1中是可行的@ adonisjs /drive,但我在adonis 5中找不到相同的方法?我可以在adonisjs 5中使用@adonisjs/drive吗?或其他库,我可以使用吗?在adonis 5中有相同的方法吗?我阅读了文档,但我只找到了请求文件的方法,而没有找到将文件返回到前端的方法。
谢谢你的回答
发布于 2020-11-24 19:08:56
在撰写本文时(2020年11月24日),Adonis Drive尚未转换为Adonis 5。因此,您现在不能在版本5中使用此包。
发布于 2021-06-15 09:06:44
另一种方法是使用上下文响应,如本节https://docs.adonisjs.com/guides/response#download中所述
// app/Controllers/Http/FilesController.ts
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Application from '@ioc:Adonis/Core/Application'
export default class FilesController {
/**
*
* @param response
* @param params
*/
public async download({ response, params }: HttpContextContract) {
// projectname/tmp/uploads/world.txt
const filePath = Application.tmpPath(`uploads/${params.name}`)
return response.download(filePath)
}
}
// start/routes.ts
// example http://127.0.0.1:3333/file/world.txt
Route.get('/file/:name', 'FilesController.download')https://stackoverflow.com/questions/64650559
复制相似问题