-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Labels
RESTIssues related to @loopback/rest package and REST transport in generalIssues related to @loopback/rest package and REST transport in general
Description
I have copied code from file-transfer example which is working fine. I want to send path with file from client side.
below is my fileupload
export class FileUploadController {
constructor(
@inject(FileUploadBindings.FILE_UPLOAD_SERVICE) private handler: FileUploadHandler,
) { }
post('/file-uploads', {
responses: {
200: {
content: {
'application/json': {
schema: {
type: 'object',
},
},
},
description: 'Files and fields',
},
},
})
async fileUpload(
@requestBody.file() request: Request,
@inject(RestBindings.Http.RESPONSE) response: Response,
): Promise<object> {
return new Promise<object>((resolve, reject) => {
console.log('request body before actual upload', request.body);
this.handler(request, response, (err: unknown) => {
if (err) reject(err);
else {
console.log('request body after upload', request.body);
resolve(FileUploadController.getFilesAndFields(request));
}
});
});
}
/**
* Get files and fields for the request
* @param request - Http request
*/
private static getFilesAndFields(request: Request) {
const uploadedFiles = request.files;
console.log('request.files', request.files);
const mapper = (f: globalThis.Express.Multer.File) => ({
fieldname: f.fieldname,
originalname: f.originalname,
encoding: f.encoding,
mimetype: f.mimetype,
size: f.size,
});
let files: object[] = [];
if (Array.isArray(uploadedFiles)) {
files = uploadedFiles.map(mapper);
} else {
for (const filename in uploadedFiles) {
files.push(...uploadedFiles[filename].map(mapper));
}
}
return { files, fields: request.body };
}
}How can I get fields submitted with file so I can modify fileName and path. request.body before calling this handler is undefined.
Metadata
Metadata
Assignees
Labels
RESTIssues related to @loopback/rest package and REST transport in generalIssues related to @loopback/rest package and REST transport in general