public async Task Create(ImageWithUrl imageWithUrl, string imagePath) { string id = await mongoDbRepository.Create(imageWithUrl); using (Stream fs = new FileStream(imagePath, FileMode.Open)) { await mongoDbRepository.StoreImage(id, fs, imagePath.Split(@"\").Last()); } }
public void SetUrl(string arg0, ImageWithUrl caller) { if (caller.selected) { if (!url.Equals(arg0)) { url = arg0; UrlChanged(); } input.gameObject.SetActive(false); selected = false; } }
// сохранение изображения public async Task StoreImage(string id, Stream imageStream, string imageName) { ImageWithUrl p = await GetProduct(id); if (p.HasImage()) { // если ранее уже была прикреплена картинка, удаляем ее await gridFS.DeleteAsync(new ObjectId(p.ImageId)); } // сохраняем изображение ObjectId imageId = await gridFS.UploadFromStreamAsync(imageName, imageStream); // обновляем данные по документу p.ImageId = imageId.ToString(); var filter = Builders <ImageWithUrl> .Filter.Eq("_id", new ObjectId(p.Id)); var update = Builders <ImageWithUrl> .Update.Set("ImageId", p.ImageId); await imagesWithUrl.UpdateOneAsync(filter, update); }
// обновление документа public async Task Update(ImageWithUrl p) { await imagesWithUrl.ReplaceOneAsync(new BsonDocument("_id", new ObjectId(p.Id)), p); }
// добавление документа public async Task <string> Create(ImageWithUrl p) { await imagesWithUrl.InsertOneAsync(p); return(p.Id); }
public async Task PutIntoDatabase(ImageWithUrl imageWithUrl, string imagePath) { await mongoDBService.Create(imageWithUrl, imagePath); }