public async Task <HttpResponseMessage> UploadGenericFile() { HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK); if (!Request.Content.IsMimeMultipartContent()) { response.StatusCode = HttpStatusCode.UnsupportedMediaType; } else { UserPrincipal loggedInUser = (UserPrincipal)HttpContext.Current.User; MultipartMemoryStreamProvider provider = new MultipartMemoryStreamProvider(); await Request.Content.ReadAsMultipartAsync(provider); Task <byte[]> fileData = provider.Contents.First().ReadAsByteArrayAsync(); string name = provider.Contents.First().Headers.ContentDisposition.FileName.Replace("/", string.Empty); string ext = name.Substring(name.LastIndexOf("."), name.Length); string fileName = string.Format("{0}.{1}", Guid.NewGuid().ToString(), ext); string directory = string.Format(@"{0}Uploads\{1}", AppDomain.CurrentDomain.BaseDirectory, loggedInUser.AccountSession.ClubId); int objectId = int.Parse(HttpContext.Current.Request.QueryString["objectId"].ToString()); GenericFileType fileType = (GenericFileType)Enum.Parse(typeof(GenericFileType), HttpContext.Current.Request.QueryString["fileType"].ToString()); GenericFileModuleType fileModuleType = (GenericFileModuleType)Enum.Parse(typeof(GenericFileModuleType), HttpContext.Current.Request.QueryString["fileModuleType"].ToString()); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } using (FileStream fs = new FileStream(string.Format(@"{0}\{1}", directory, fileName), FileMode.OpenOrCreate)) { await fs.WriteAsync(fileData.Result, 0, fileData.Result.Length); fs.Close(); } response.Content = new ObjectContent <string>(fileName, new JsonMediaTypeFormatter()); } return(response); }
public static GenericFile GetGenericFile(GenericFileType fileType, GenericFileModuleType moduleType, int objectId) { return(GenericFileDAL.GetGenericFile(fileType, moduleType, objectId)); }
internal static GenericFile GetGenericFile(GenericFileType fileType, GenericFileModuleType moduleType, int objectId) { using (CoreModel coreDAL = new CoreModel()) return(coreDAL.GenericFile.FirstOrDefault(f => f.FileType == (int)fileType && f.ModuleType == (int)moduleType && f.ObjectId == objectId)); }