提问人:Abhijith Nayak 提问时间:11/3/2023 更新时间:11/3/2023 访问量:40
剥离上传文件的元数据信息
Stripping Metadata Info of the uploaded file
问:
我在后端使用 Angular 和 Web API。
我有从 Angular 应用程序上传文件(主要是 docx、xlxs、jpg、png pdf 格式)的功能,其他人可以在应用程序的其他屏幕中下载相同的文件。
我收到了安全团队的评论,要求删除上传文件的元数据信息。
我用来在 Angular 和 Web API 中上传的代码 -
<input type="file" name="input-attach-doc" id="input-attach-doc" accept=".pdf, .jpeg, .png"
(change)="addFiles($event)" multiple #inputAttachments />
addFiles(event) {
let files: FileList = event.target.files
Array.prototype.forEach.call(files, (file) => {
if (file.size > '5242880') {
this.notificationService.showWarning('Incorrect file size. Please choose a file with less than 5 MB.',
'Warning!');
}
else {
if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'application/pdf') {
this.attachedDocs.push(file)
}
else {
this.notificationService.showWarning('Incorrect file type selected. Please choose a pdf,png or jpeg file.',
'Warning!');
}
}
})
}
//passing the selected docs to this function.
saveQueryExternalUser(queryDetails: any, attachments: any[]) {
let formData = new FormData()
for (var i = 0; i < attachments.length; i++) {
formData.append("Document", attachments[i]);
}
formData.append("queryData", JSON.stringify(queryDetails))
return this.httpClient.sampleQueryMgmtPostWithXhr('api/QueryManagementQuery/saveExternalUserQueryDetails', formData);
}
我的服务器代码看起来也很简单,服务器代码的片段,文档在其中传递和使用——
public BaseResponse SaveExternalUserQueryDetails(DTOSaveQueryDetails queryDetails
, List<DTOQueryDocumentFileFormat> documents)
{
BaseResponse response = new BaseResponse();
//Save attachments
if (documents.Any())
{
var isSuccessful = SaveQueryDocuments(queryDetails.QueryHeaderId, documents);
if (!isSuccessful)
{
response.ErrorMessages.Add("Could not save attachments");
return response;
}
}
我更喜欢在上传过程中在服务器端剥离文件的元数据信息。
任何帮助都非常感谢。
答: 暂无答案
评论