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)); }
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); }