public int Insert(FileAddRequest model) { int id = 0; using (SqlConnection conn = new SqlConnection(connStr)) { string cmdStr = "Files_Insert"; using (SqlCommand cmd = new SqlCommand(cmdStr, conn)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter param = new SqlParameter(); param.ParameterName = "@Id"; param.SqlDbType = System.Data.SqlDbType.Int; param.Direction = System.Data.ParameterDirection.Output; cmd.Parameters.Add(param); cmd.Parameters.AddWithValue("@AccountId", model.AccountId); cmd.Parameters.AddWithValue("@FileName", model.FileName); cmd.Parameters.AddWithValue("@Size", model.Size); cmd.Parameters.AddWithValue("@Type", model.Type); cmd.Parameters.AddWithValue("@SystemFileName", model.SystemFileName); cmd.Parameters.AddWithValue("@ModifiedBy", model.ModifiedBy); conn.Open(); cmd.ExecuteNonQuery(); id = (int)cmd.Parameters["@Id"].Value; conn.Close(); } } return(id); }
public override void FileAdded(FileResponse res, FileAddRequest req) { if (!IsImage(res.Model.Path)) { return; } FrontEndDeveloperOptions.Instance.Images.ResizeOptions.ForEach(opt => { var resizedPath = CreateFileName(res.Model, opt); CreateImageOnServer(res, opt, resizedPath); var meta = new Meta { MetaName = MetaName, TargetId = res.Model.Id, TargetType = FileData.MetaTypeName, MetaData = JObject.FromObject(new ImageData { Path = "/" + resizedPath.Replace(AppDir, "").Replace("\\", "/"), SizeName = opt.Name, Width = opt.Width, Height = opt.Height, Name = Path.GetFileNameWithoutExtension(resizedPath) }) }; _unitOfWork.Add(meta); res.Model.MetaData.Add(meta.MapToViewModel()); }); }
public async Task <string> UploadFile(IFormFile file, int id) { TransferUtility fileTransferUtility = null; BasicAWSCredentials credentials = null; string bucketName = _aWSCredential.BucketName; string filePath = Path.GetTempFileName(); string keyName = bucketName + Guid.NewGuid() + "_" + file.FileName; using (FileStream stream = new FileStream(filePath, FileMode.Create)) { credentials = new BasicAWSCredentials(_aWSCredential.AccessKey, _aWSCredential.Secret); s3Client = new AmazonS3Client(credentials, RegionEndpoint.USWest2); file.CopyTo(stream); fileTransferUtility = new TransferUtility(s3Client); await fileTransferUtility.UploadAsync(stream, bucketName, keyName); } // This below section inserts file information to sql database. FileAddRequest model = new FileAddRequest() { Name = file.FileName, Url = _aWSCredential.Domain + keyName, FileType = 1, }; Add(model, id); return(model.Url); }
private static void AddCommonParams(FileAddRequest model, SqlParameterCollection col) { col.AddWithValue("@Url", model.Url); col.AddWithValue("@EntityTypeId", model.EntityTypeId); col.AddWithValue("@Name", model.Name); col.AddWithValue("@FileTypeId", model.FileTypeId); }
public async Task <FileResponse> Add(FileAddRequest request) { var res = await _fileService.Add(request); if (res.Access == ResponseAccess.Granted) { _observers.ForEach(x => x.FileAdded(res, request)); await _unitOfWork.SaveChangesAsync(); } return(res); }
public HttpResponseMessage Upload() { HttpPostedFile postedFile = HttpContext.Current.Request.Files[0]; string keyName = Path.GetFileNameWithoutExtension(postedFile.FileName) + '_' + Guid.NewGuid().ToString() + Path.GetExtension(postedFile.FileName); FileAddRequest fModel = new FileAddRequest { AccountId = UserService.GetCurrentUser().Id, FileName = postedFile.FileName, Size = postedFile.ContentLength, Type = postedFile.ContentType, SystemFileName = keyName, ModifiedBy = UserService.GetCurrentUser().Email }; int fileId = 0; using (client = new AmazonS3Client(Amazon.RegionEndpoint.USWest1)) { try { string bucketName = "trivalitybucket/ProfilePictures"; PutObjectRequest putRequest1 = new PutObjectRequest { BucketName = bucketName, Key = keyName }; PutObjectResponse response1 = client.PutObject(putRequest1); PutObjectRequest putRequest2 = new PutObjectRequest { BucketName = bucketName, Key = keyName, InputStream = postedFile.InputStream, ContentType = "text/plain" }; putRequest2.Metadata.Add("x-amz-meta-title", "someTitle"); PutObjectResponse response2 = client.PutObject(putRequest2); fileId = svc.Insert(fModel); } catch (AmazonS3Exception amazonS3Exception) { throw amazonS3Exception; } } ItemResponse <int> resp = new ItemResponse <int>(); resp.Item = fileId; return(Request.CreateResponse(HttpStatusCode.OK, resp)); }
public ActionResult <ItemResponse <int> > Add(FileAddRequest model) { try { int id = _fileService.Add(model, _authService.GetCurrentUserId()); ItemResponse <int> resp = new ItemResponse <int>(); resp.Item = id; return(Created201(resp)); } catch (Exception ex) { Logger.LogError(ex.ToString()); return(StatusCode(500, new ErrorResponse(ex.Message))); } }
public async Task <FileResponse> Add(FileAddRequest request) { var file = await _fileManager.SaveAsync(request.File, _saveDir); var fileData = new DomainClasses.Entities.FileData() { Name = file.SavedFileName, Path = file.SavedFilePath, Size = file.Size, Extension = file.Extension }; await base.BaseBeforeAddAsync(fileData, request.RequestOwner); await _fileDataService.AddAsync(fileData); await base.BaseAfterAddAsync(fileData, request.RequestOwner); _unitOfWork.Entry(fileData).Reference(x => x.Creator).Load(); return(new FileResponse() { Access = ResponseAccess.Granted, Model = fileData.MapToViewModel() }); }
public int Add(FileAddRequest model, int creadtedBy) { int id = 0; _dataProvider.ExecuteNonQuery("dbo.Files_Insert", inputParamMapper : delegate(SqlParameterCollection parms) { SqlParameter parm = new SqlParameter(); parm.ParameterName = "@Id"; parm.SqlDbType = SqlDbType.Int; parm.Direction = ParameterDirection.Output; parms.Add(parm); parms.AddWithValue("@Name", model.Name); parms.AddWithValue("@Url", model.Url); parms.AddWithValue("@FileType", model.FileType); parms.AddWithValue("@CreatedBy", creadtedBy); }, returnParameters : delegate(SqlParameterCollection parms) { Int32.TryParse(parms["@Id"].Value.ToString(), out id); }); return(id); }
public abstract void FileAdded(FileResponse res, FileAddRequest req);