Exemplo n.º 1
0
        public System.Net.Http.HttpResponseMessage Post_1(HttpRequestMessage request, string fileName, string fileType)
        {
            var    contentType        = request.Content.Headers.ContentType;
            var    contentInString    = request.Content.ReadAsStringAsync().Result;
            string LandingPage_Folder = ConfigurationManager.AppSettings["LandingPage_Folder"].ToString();
            string News_Folder        = ConfigurationManager.AppSettings["News_Folder"].ToString();
            string pathValue          = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath.Replace("API", "Web") + LandingPage_Folder;

            if (fileType.ToLower().StartsWith("news"))
            {
                pathValue = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath.Replace("API", "Web") + News_Folder;
            }

            //if (!Request.Content.IsMimeMultipartContent())
            //    throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);

            var provider = new MultipartMemoryStreamProvider();

            request.Content.ReadAsMultipartAsync(provider);
            foreach (var file in provider.Contents)
            {
                //var filename="uploadFile"+DateTime.Now.ToString("yyyymmdd_hhss");
                //if (file.Headers.ContentDisposition.FileName == null)
                //    filename = fileName;
                //else
                //    filename = file.Headers.ContentDisposition.FileName.Trim('\"');

                string pathname = pathValue + @"\" + fileName;

                FileStream fileStream = null;

                try
                {
                    fileStream = new FileStream(pathname, FileMode.Create, FileAccess.Write, FileShare.None);

                    file.CopyToAsync(fileStream).ContinueWith((copyTask) =>
                                                              { fileStream.Close(); });
                }
                catch
                {
                    if (fileStream != null)
                    {
                        fileStream.Close();
                    }
                    throw;
                }
            }

            LandingPageController obj = new LandingPageController();

            if (fileType.ToLower().StartsWith("news"))
            {
                pathValue = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath.Replace("API", "Web") + News_Folder;
            }

            string AUSDDDSummaryFile = ConfigurationManager.AppSettings["AUSDDDSummary"].ToString();

            int           NumFiles = Int32.Parse(ConfigurationManager.AppSettings["LandingPage_NumFiles"].ToString());
            DirectoryInfo dInfo    = new DirectoryInfo(pathValue);

            var files = dInfo.GetFiles(AUSDDDSummaryFile).OrderByDescending(p => p.CreationTime)
                        .Select(s1 => s1.Name).Take(NumFiles).ToArray();

            string json = Newtonsoft.Json.JsonConvert.SerializeObject(files);

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
Exemplo n.º 2
0
        public string Post(string fileType)
        {
            string ret = "Completed";
            //var contentType = request.Content.Headers.ContentType;
            //var contentInString = request.Content.ReadAsStringAsync().Result;
            string LandingPage_Folder = ConfigurationManager.AppSettings["LandingPage_Folder"].ToString();
            string News_Folder        = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath.Replace("API", "Web") + ConfigurationManager.AppSettings["News_Folder"].ToString();
            string NewsAlert1_Folder  = ConfigurationManager.AppSettings["NewsAlert1"].ToString();
            string NewsAlert2_Folder  = ConfigurationManager.AppSettings["NewsAlert2"].ToString();
            string PopularLinksFolder = ConfigurationManager.AppSettings["PopularLinks"].ToString();

            string pathValue = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath.Replace("API", "Web") + LandingPage_Folder;

            if (fileType.ToLower().StartsWith("newsalert1"))
            {
                pathValue = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath.Replace("API", "Web") + NewsAlert1_Folder;
            }
            if (fileType.ToLower().StartsWith("newsalert2"))
            {
                pathValue = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath.Replace("API", "Web") + NewsAlert2_Folder;
            }
            if (fileType.ToLower().StartsWith("popularlinks"))
            {
                pathValue = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath.Replace("API", "Web") + PopularLinksFolder;
            }

            //if (!Request.Content.IsMimeMultipartContent())
            //    throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);

            //var provider = new MultipartMemoryStreamProvider();
            //request.Content.ReadAsMultipartAsync(provider);

            HttpResponseMessage response = new HttpResponseMessage();
            var httpRequest = System.Web.HttpContext.Current.Request;

            foreach (string file in httpRequest.Files)
            {
                //var filename="uploadFile"+DateTime.Now.ToString("yyyymmdd_hhss");
                //if (file.Headers.ContentDisposition.FileName == null)
                //    filename = fileName;
                //else
                //    filename = file.Headers.ContentDisposition.FileName.Trim('\"');

                var    postedFile = httpRequest.Files[file];
                string pathname   = pathValue + @"\" + postedFile.FileName;
                //FileStream fileStream = null;
                try
                {
                    var filePath = pathValue + @"\" + postedFile.FileName;
                    postedFile.SaveAs(filePath);
                    //fileStream = new FileStream(pathname, FileMode.Create, FileAccess.Write, FileShare.None);

                    //file.CopyToAsync(fileStream).ContinueWith((copyTask) =>
                    //{ fileStream.Close(); });
                }
                catch (Exception ex)
                {
                    //if (fileStream != null)
                    //{
                    //    fileStream.Close();
                    //}
                    ret = ex.Message;
                    throw;
                }
            }

            LandingPageController obj = new LandingPageController();

            if (fileType.ToLower().StartsWith("newsalert"))
            {
                //copy files to news archive folder except the latest news
                CopyFiles(pathValue, News_Folder);
            }

            return(ret);
        }