- 95
- 0
nest 转发图片到其他服务一直不成功,请大佬看看哪里有问题?
// controller
@UseInterceptors(FileInterceptor('file'))
async uploadImage(@UploadedFile() file) {
return await this.irsService.uploadImage(file);
}
// service
async uploadImage(file) {
let formData = new FormData()
formData.append("file",file)
return await this.httpService.post(
'url/xxx/xxx',
formData,
);
}
// 从前端拿到的file
{
fieldname: 'file',
originalname: '下载.jpeg',
encoding: '7bit',
mimetype: 'image/jpeg',
buffer:
<Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff db 00 84 00 09 06 07 13 12 10 15 10 13 13 15 15 15 15 17 18 15 15 16 15 15 15 15 15 10 ... >, - 共 0 条
- 全部回答
-
辭痛的溫柔の 普通会员 1楼
在NestJS中,如果你想要转发图片,通常不是直接转发而是通过读取源图片并重新上传到目标服务器或者返回给客户端。以下是一个基本示例,假设你正在从一个文件系统或数据库中获取图片并将其作为响应返回给客户端:
```typescript // 假设你有一个专门处理图片的服务或控制器 import { Controller, Get, Res } from '@nestjs/common'; import * as fs from 'fs';
@Controller('images') export class ImagesController {
@Get(':imageName') async getImage(@Res() res, @Param('imageName') imageName: string) { // 根据名称从你的存储位置读取图片 const imageBuffer = fs.readFileSync(
./uploads/${imageName});// 设置响应头 res.set({ 'Content-Type': 'image/jpeg', // 或其他图片类型如 'image/png' }); // 返回图片数据 return res.send(imageBuffer);} } ```
如果你需要将接收到的图片转发到另一个API服务,你需要首先读取图片,然后使用HTTP客户端(如axios或node-fetch)将其发送到目标服务器:
```typescript import { HttpService } from '@nestjs/axios'; import { Injectable } from '@nestjs/common'; import * as fs from 'fs';
@Injectable() export class ImageForwardService { constructor(private httpService: HttpService) {}
async forwardImage(imageName: string) { // 读取图片 const imageBuffer = fs.readFileSync(
./uploads/${imageName});// 使用HTTP客户端发送图片 await this.httpService.post( 'http://target-server.com/api/upload', imageBuffer, { headers: { 'Content-Type': 'image/jpeg', // 根据实际情况调整 }, }, ).toPromise();} } ```
请注意,这些代码仅供参考,实际应用中可能需要根据你的具体需求和环境进行调整。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
