public async Task UploadObjectDataAsyncAWSS3(string filename, byte[] bytea, EbFileCategory cat) { try { var fileTransferUtility = new TransferUtility(s3Client); var ms = new System.IO.MemoryStream(); ms.Write(bytea, 0, bytea.Length); ms.Position = 0; await fileTransferUtility.UploadAsync(ms, bucketName, filename); Console.WriteLine("Upload 4 completed"); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message); } }
public string UploadFile(string filename, byte[] bytea, EbFileCategory category, int _infraConId) { Console.WriteLine("Inside Upload FilesDB Collection"); Console.WriteLine("InfraCon Id: " + _infraConId); Console.WriteLine("Default Con Id: " + DefaultConId); try { if (_infraConId == 0) { _infraConId = DefaultConId; } this.UsedConId = _infraConId; Console.WriteLine("Used Con Id: " + UsedConId); return(this[this.UsedConId].UploadFile(filename, bytea, category)); } catch (Exception e) { Console.WriteLine("Error in Upload File" + e.Message + "\nStack Trace: " + e.StackTrace); return(null); } }
public byte[] DownloadFileById(string filestoreid, EbFileCategory category) { AsyncHelper.RunSync(() => DowloadwithAsyncDropbox(filestoreid: filestoreid)); return(result); }
public string UploadFile(string filename, byte[] bytea, EbFileCategory category) { AsyncHelper.RunSync(() => UploadObjectDataAsyncAWSS3(filename, bytea, category)); return(filename); }
public byte[] DownloadFileById(string filestoreid, EbFileCategory category) { AsyncHelper.RunSync(() => ReadObjectDataAsyncAWSS3(filestoreid)); return(result); }
private int GetFileRefIdInfra(int userId, string filename, string filetype, string tags, EbFileCategory ebFileCategory, string context) { int refId = 0; EbDataTable table = null; //logging connection Console.WriteLine("FileClient Connection at GetFileRefIdInfra"); Console.WriteLine(this.InfraConnectionFactory.DataDB.DBName); try { DbParameter[] parameters = { this.InfraConnectionFactory.DataDB.GetNewParameter("userid", EbDbTypes.Int32, userId), this.InfraConnectionFactory.DataDB.GetNewParameter("filename", EbDbTypes.String, filename), this.InfraConnectionFactory.DataDB.GetNewParameter("filetype", EbDbTypes.String, filetype), this.InfraConnectionFactory.DataDB.GetNewParameter("tags", EbDbTypes.String, string.IsNullOrEmpty(tags)? string.Empty: tags), this.InfraConnectionFactory.DataDB.GetNewParameter("filecategory", EbDbTypes.Int16, (int)ebFileCategory), this.InfraConnectionFactory.DataDB.GetNewParameter("context", EbDbTypes.String, context) }; table = this.InfraConnectionFactory.DataDB.DoQuery(this.InfraConnectionFactory.DataDB.EB_UPLOAD_IDFETCHQUERY, parameters); string s = table.Rows[0][0].ToString(); refId = int.Parse(s); } catch (Exception e) { Console.WriteLine("ERROR: POSGRE: " + e.Message); } return(refId); }
public DownloadFileResponse Get(DownloadFileByIdRequest request) { Console.WriteLine("In DownloadFileByIdRequest"); byte[] fb = new byte[0]; string sFilePath = string.Format("../StaticFiles/{0}/{1}", request.SolnId, request.FileDetails.FileRefId); MemoryStream ms = null; DownloadFileResponse dfs = new DownloadFileResponse(); try { if (!System.IO.File.Exists(sFilePath)) { EbFileCategory category = request.FileDetails.FileCategory; string Qry = this.EbConnectionFactory.DataDB.EB_DOWNLOAD_FILE_BY_ID; DbParameter[] parameters = { this.EbConnectionFactory.DataDB.GetNewParameter("fileref", EbDbTypes.Int32, request.FileDetails.FileRefId), }; EbDataTable t = this.EbConnectionFactory.DataDB.DoQuery(Qry, parameters); if (t.Rows.Count > 0) { request.FileDetails.FileStoreId = t.Rows[0]["filestore_sid"].ToString(); request.FileDetails.InfraConID = Convert.ToInt32(t.Rows[0]["filedb_con_id"]); } else { throw new Exception("File Not Found in Database , fileref = " + request.FileDetails.FileRefId); } fb = this.EbConnectionFactory.FilesDB.DownloadFileById(request.FileDetails.FileStoreId, category, request.FileDetails.InfraConID); if (fb != null) { EbFile.Bytea_ToFile(fb, sFilePath); } } if (File.Exists(sFilePath)) { ms = new MemoryStream(File.ReadAllBytes(sFilePath)); dfs.StreamWrapper = new MemorystreamWrapper(ms); dfs.FileDetails = new FileMeta { FileName = request.FileDetails.FileName, FileType = request.FileDetails.FileType, Length = request.FileDetails.Length, FileStoreId = request.FileDetails.FileStoreId, UploadDateTime = request.FileDetails.UploadDateTime, MetaDataDictionary = (request.FileDetails.MetaDataDictionary != null) ? request.FileDetails.MetaDataDictionary : new Dictionary <String, List <string> >() { }, }; } else { throw new Exception("File Not Found"); } } catch (FormatException e) { Console.WriteLine("ObjectId not in Correct Format: " + request.FileDetails.FileName); Console.WriteLine("Exception: " + e.ToString()); } catch (Exception e) { Log.Info("Exception:" + e.ToString()); } return(dfs); }
public DownloadFileResponse Get(DownloadImageByIdRequest request) { Console.WriteLine("In DownloadImageByIdRequest"); byte[] fb = new byte[0]; string sFilePath = string.Format("../StaticFiles/{0}/{1}/{2}", request.SolnId, request.ImageInfo.ImageQuality, request.ImageInfo.FileRefId); MemoryStream ms = null; DownloadFileResponse dfs = new DownloadFileResponse(); Console.WriteLine("Download Image Info: " + request.ImageInfo.ToJson()); try { if (!System.IO.File.Exists(sFilePath)) { Console.WriteLine("Image Not in Cache: " + sFilePath); EbFileCategory category = request.ImageInfo.FileCategory; string Qry = this.EbConnectionFactory.DataDB.EB_DOWNLOAD_IMAGE_BY_ID; DbParameter[] parameters = { this.EbConnectionFactory.DataDB.GetNewParameter("fileref", EbDbTypes.Int32, request.ImageInfo.FileRefId) }; EbDataTable t = this.EbConnectionFactory.DataDB.DoQuery(Qry, parameters); if (t.Rows.Count == 0) { throw new Exception("filestore_sid not found - FileRefId:" + request.ImageInfo.FileRefId + " Quality:" + request.ImageInfo.ImageQuality); } Dictionary <int, ImageMeta> sidAll = new Dictionary <int, ImageMeta>(); for (int i = 0; i < t.Rows.Count; i++) { sidAll.Add(Convert.ToInt32(t.Rows[i][0]), new ImageMeta() { FileStoreId = t.Rows[i][1].ToString(), InfraConID = Convert.ToInt32(t.Rows[i][2]) }); } if (sidAll.ContainsKey((int)request.ImageInfo.ImageQuality)) { request.ImageInfo.FileStoreId = sidAll[(int)request.ImageInfo.ImageQuality].FileStoreId; request.ImageInfo.InfraConID = sidAll[(int)request.ImageInfo.ImageQuality].InfraConID; } else { request.ImageInfo.FileStoreId = sidAll[(int)ImageQuality.original].FileStoreId; request.ImageInfo.InfraConID = sidAll[(int)ImageQuality.original].InfraConID; } fb = this.EbConnectionFactory.FilesDB.DownloadFileById(request.ImageInfo.FileStoreId, category, request.ImageInfo.InfraConID); if (fb != null) { EbFile.Bytea_ToFile(fb, sFilePath); } else { Console.WriteLine("No File Found in : FileStoreId: " + request.ImageInfo.FileStoreId); } } if (File.Exists(sFilePath)) { ms = new MemoryStream(File.ReadAllBytes(sFilePath)); dfs.StreamWrapper = new MemorystreamWrapper(ms); dfs.FileDetails = new FileMeta { FileName = request.ImageInfo.FileName, FileType = request.ImageInfo.FileType, Length = request.ImageInfo.Length, FileStoreId = request.ImageInfo.FileStoreId, UploadDateTime = request.ImageInfo.UploadDateTime, MetaDataDictionary = (request.ImageInfo.MetaDataDictionary != null) ? request.ImageInfo.MetaDataDictionary : new Dictionary <String, List <string> >() { }, }; } else { throw new Exception("File Not Found"); } } catch (FormatException e) { Console.WriteLine("ObjectId not in Correct Format: " + request.ImageInfo.FileName); Console.WriteLine("Exception: " + e.ToString()); } catch (Exception e) { Log.Info("Exception:" + e.ToString()); } return(dfs); }
//public EbMqResponse Post(GetImageFtpRequest request) //{ // try // { // this.EbConnectionFactory = new EbConnectionFactory(request.SolnId, this.Redis); // long size = this.EbConnectionFactory.FTP.GetFileSize(request.FileUrl.Value); // if (size > 0) // { // int id = FileExists(this.EbConnectionFactory.DataDB, fname: request.FileUrl.Value.SplitOnLast('/').Last(), CustomerId: request.FileUrl.Key, IsExist: 1); // if (id > 0) // Log.Info("Counter Updated (File Exists)"); // else // Log.Info("Counter Not Updated (File Exists)"); // byte[] _byte = this.EbConnectionFactory.FTP.Download(request.FileUrl.Value); // if (_byte.Length > 0) // { // if (UpdateCounter(this.EbConnectionFactory.DataDB, id: id, IsFtp: 1)) // Log.Info("Counter Updated (Byte Received)"); // else // Log.Info("Counter Not Updated (Byte Received)"); // UploadImageRequest ImageReq = new UploadImageRequest() // { // ImgQuality = ImageQuality.original, // FileCategory = EbFileCategory.Images, // Byte = _byte, // UserId = request.UserId, // SolnId = request.SolnId, // BToken = request.BToken, // RToken = request.RToken // }; // ImageReq.ImageRefId = GetFileRefId(this.EbConnectionFactory.DataDB, request.UserId, request.FileUrl.Value.Split('/').Last(), request.FileUrl.Value.Split('.').Last(), String.Format(@"CustomerId: {0}", request.FileUrl.Key.ToString()), EbFileCategory.Images); // Console.WriteLine(@"File Recieved) "); // object _imgenum = null; // bool isImage = (Enum.TryParse(typeof(ImageTypes), request.FileUrl.Value.Split('.').Last().ToLower(), out _imgenum)); // if (MapFilesWithUser(this.EbConnectionFactory, request.FileUrl.Key, ImageReq.ImageRefId) < 1) // throw new Exception("File Mapping Failed"); // if (isImage) // { // byte[] ThumbnailBytes; // if (UpdateCounter(this.EbConnectionFactory.DataDB, id: id, IsImg: 1)) // Log.Info("Counter Updated (IsImage)"); // if (ImageReq.Byte.Length > 307200) // { // int qlty = (int)(20480000 / ImageReq.Byte.Length); // qlty = qlty < 7 ? 7 : qlty; // Log.Info("Need to Compress"); // string Clodinaryurl = this.EbConnectionFactory.ImageManipulate[0].Resize // (ImageReq.Byte, ImageReq.ImageRefId.ToString(), qlty); // ImageReq.ImgManpSerConId = this.EbConnectionFactory.ImageManipulate[0].InfraConId; // using (var client = new HttpClient()) // { // var response = client.GetAsync(Clodinaryurl).Result; // if (response.IsSuccessStatusCode) // { // var responseContent = response.Content; // // by calling .Result you are synchronously reading the result // ImageReq.Byte = responseContent.ReadAsByteArrayAsync().Result; // if (UpdateCounter(this.EbConnectionFactory.DataDB, id: id, IsCloudLarge: 1)) // Log.Info("Counter Updated (Recieved Large Image)"); // } // else // { // throw new Exception("Cloudinary Error: Image Not Downloaded"); // } // } // } // string thumbUrl = this.EbConnectionFactory.ImageManipulate[0].GetImgSize(ImageReq.Byte, request.FileUrl.Value.Split('/').Last(), ImageQuality.small); // this.MessageProducer3.Publish(ImageReq); // Log.Info("Pushed Image Large to Queue"); // //TO Get thumbnail // using (var client = new HttpClient()) // { // var response = client.GetAsync(thumbUrl).Result; // if (response.IsSuccessStatusCode) // { // var responseContent = response.Content; // // by calling .Result you are synchronously reading the result // ThumbnailBytes = responseContent.ReadAsByteArrayAsync().Result; // } // else // { // throw new Exception("Cloudinary Error: Transformed Image Not Available"); // } // } // if (ThumbnailBytes.Length > 0) // { // ImageReq.Byte = ThumbnailBytes; // ImageReq.ImgManpSerConId = this.EbConnectionFactory.ImageManipulate[0].InfraConId; // ImageReq.ImgQuality = ImageQuality.small; // this.MessageProducer3.Publish(ImageReq); // if (UpdateCounter(this.EbConnectionFactory.DataDB, id: id, IsCloudSmall: 1)) // Log.Info("Counter Updated (Recieved SmallImage)"); // Log.Info("Pushed Small to Queue after Cloudinary"); // } // } // else // { // this.MessageProducer3.Publish(new UploadFileRequest() // { // FileRefId = ImageReq.ImageRefId, // FileCategory = EbFileCategory.File, // Byte = ImageReq.Byte, // UserId = request.UserId, // SolnId = request.SolnId, // BToken = request.BToken, // RToken = request.RToken // }); // if (UpdateCounter(this.EbConnectionFactory.DataDB, id: id, IsFile: 1)) // Log.Info("Counter Updated (File Pushed)"); // } // } // } // } // catch (Exception e) // { // Log.Error("MQ Exception: " + e.ToString()); // return new EbMqResponse(); // } // return new EbMqResponse { IsError = false }; //} //private int MapFilesWithUser(EbConnectionFactory connectionFactory, int CustomerId, int FileRefId) //{ // int res = 0; // string MapQuery = @"INSERT into customer_files (customer_id, eb_files_ref_id) values(@cust_id, @ref_id) returning id"; // DbParameter[] MapParams = // { // connectionFactory.DataDB.GetNewParameter("cust_id", EbDbTypes.Int32, CustomerId), // connectionFactory.DataDB.GetNewParameter("ref_id", EbDbTypes.Int32, FileRefId) // }; // var table = connectionFactory.DataDB.DoQuery(MapQuery, MapParams); // res = (int)table.Rows[0][0]; // return res; //} //public bool UpdateCounter(IDatabase DataDB, int id, int IsFtp = 0, int IsCloudLarge = 0, int IsCloudSmall = 0, int IsFile = 0, int IsImg = 0) //{ // int res = 0; // try // { // string MapQuery = @" // UPDATE // eb_image_migration_counter // SET // ftp_get = eb_image_migration_counter.ftp_get + @ftp, // cldnry_large = eb_image_migration_counter.cldnry_large + @cldl , // cldnry_small = eb_image_migration_counter.cldnry_small + @clds, // file_upld = eb_image_migration_counter.file_upld + @file, // img_org = eb_image_migration_counter.img_org + @img // WHERE // eb_image_migration_counter.id = @id;"; // DbParameter[] MapParams = // { // DataDB.GetNewParameter("id", EbDbTypes.Int32, id), // DataDB.GetNewParameter("ftp", EbDbTypes.Int32, IsFtp), // DataDB.GetNewParameter("cldl", EbDbTypes.Int32, IsCloudLarge), // DataDB.GetNewParameter("clds", EbDbTypes.Int32, IsCloudSmall), // DataDB.GetNewParameter("file", EbDbTypes.Int32, IsFile), // DataDB.GetNewParameter("img", EbDbTypes.Int32, IsImg) // }; // res = DataDB.DoNonQuery(MapQuery, MapParams); // } // catch (Exception e) // { // Log.Error("Counter: " + e.Message); // } // return (res > 0); //} //public int FileExists(IDatabase DataDB, string fname, int CustomerId, int IsExist = 0) //{ // int res = 0; // try // { // string AddQuery = EbConnectionFactory.DataDB.EB_FILEEXISTS; // DbParameter[] MapParams = // { // DataDB.GetNewParameter("cid", EbDbTypes.Int32, CustomerId), // DataDB.GetNewParameter("fname", EbDbTypes.String, fname), // DataDB.GetNewParameter("exist", EbDbTypes.Int32, IsExist), // }; // var tab = DataDB.DoQuery(AddQuery, MapParams); // if (tab.Rows.Capacity > 0) // res = Convert.ToInt32(tab.Rows[0][0]); // } // catch (Exception e) // { // Log.Error("Counter: " + e.Message); // } // return res; //} private int GetFileRefId(IDatabase datadb, int userId, string filename, string filetype, string tags, EbFileCategory ebFileCategory) { try { string IdFetchQuery = EbConnectionFactory.DataDB.EB_GETFILEREFID; DbParameter[] parameters = { datadb.GetNewParameter("userid", EbDbTypes.Int32, userId), datadb.GetNewParameter("filename", EbDbTypes.String, filename), datadb.GetNewParameter("filetype", EbDbTypes.String, filetype), datadb.GetNewParameter("tags", EbDbTypes.String, tags), datadb.GetNewParameter("filecategory", EbDbTypes.Int16, ebFileCategory) }; var table = datadb.DoQuery(IdFetchQuery, parameters); return((int)table.Rows[0][0]); } catch { return(0); } }