【发布时间】:2020-10-28 15:36:56
【问题描述】:
我有一个文件保存在我的服务器中,假设它的路径是data/x.log。我将一个新文件上传到服务器:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { IResponse } from 'src/app/interfaces/response.interface';
import { environment } from 'src/environments/environment';
const ENDPOINT = environment.apiUrl + '/log';
@Injectable()
export class HttpUploadService {
constructor(
private http: HttpClient,
) { }
public uploadLogFile(file: File): Observable<IResponse> {
const baseUrl: string = ENDPOINT;
const postData = new FormData();
postData.append('file', file);
return this.http.post<IResponse>(baseUrl, { postData });
}
}
这也是一个日志文件。我的命令是将这两个文件合并到同一位置data/x.log 路径。
合并就像追加。只需在第一个文件之后添加第二个文件内容即可。
如何使用 node.js 完成我的服务器代码?
这是我的控制器:
const saveLogFile = async (req, res) => {
}
在我的第一种方法中,我尝试使用 multer 包:
const storage = multer.diskStorage({
destination(req, file, cb) {
cb(null, './data');
},
filename(req, file, cb) {
cb(null, `x.log`);
}
});
但据我所知,它只会覆盖文件内容而不会合并。
我该怎么做?
【问题讨论】: