我正在尝试上传新图像代替旧图像。
现在我在编辑单个图像时具有多个图像:我将对象ID,项目ID和old_file名称从.ts文件传递到服务文件,然后将服务文件传递给API。
当前,在上传文件时,它将旧媒体图像替换为新图像,但将猫鼬中的媒体数组替换为单个文件。
"media_data" : [
"1531126685017_Fri Nov 03 2017 12_05_42 GMT+0530 (IST)_test.jpg",
"1531126705706_Fri Nov 03 2017 12_45_52 GMT+0530 (IST)_swolemate.PNG",
"1531126714516_Fri Nov 03 2017 12_40_52 GMT+0530 (IST)_Sprint.png"
],
router.post('/updateMedia', upload.any(), function(req, res, next) {
var postid = req.body.postId;
var userid = req.body.userId;
var mediaid = req.body.itemId;
var oldfilename = req.body.oldfile;
console.log(oldfilename);
//console.log(oldfilename);
var files = req.files;
var length = req.files.length;
var extensions = ['.gif', '.jpg', '.jpeg', '.png', '.mov', '.mp4', '.mkv', '.avi', '.webm'];
for (var media = 0; media < length; media++) {
var file = files[media].filename;
var ext = path.extname(files[media].filename);
var newMedia = new Media();
newMedia.media = file;
newMedia.user_id = userid;
newMedia.post_id = postid;
newMedia.update(function(err, dataId) {
Post.updateOne({
_id: postid
}, {
"media_data": file
}, {
$addToSet: {
"media_data.$": oldfilename
}
})
.exec(function(err, posts) {
if (posts) {
res.status(200).json({
success: true,
message: "updated successfully.",
status: 200
});
} else {
res.status(500).json({
success: false,
message: "Internal error occurred.",
status: 500
})
}
});
});
}
});
<input id="file" multiple (change)="editMediaItems(post.id,mediaFile.itemId,mediaFile.post,$event, i)" type="file">
upload_media(data): Observable<any>{
let newdata = new FormData();
newdata.append('postId', data.postId);
newdata.append('userId', data.id);
newdata.append('itemId', data.itemId);
newdata.append('upload_file', data.upload_file);
newdata.append('oldfile', data.oldfile);
let url = this.api_url.concat('updateMedia');
return this.http.post(url, newdata ).map(response => response);
}