Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public static GenericFile GetGenericFile(GenericFileType fileType, GenericFileModuleType moduleType, int objectId)
 {
     return(GenericFileDAL.GetGenericFile(fileType, moduleType, objectId));
 }
Ejemplo n.º 3
0
 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));
 }