public async Task <HttpResponseMessage> Post() { try { string log_file_path = HttpContext.Current.Server.MapPath("~/Logs/UploadLog.txt"); File.AppendAllText(log_file_path, "---FileUploadingStarted---" + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + Environment.NewLine); if (!Request.Content.IsMimeMultipartContent()) { File.AppendAllText(log_file_path, "---NoFileFound---" + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + Environment.NewLine); File.AppendAllText(log_file_path, "---UnsupportedFormat---" + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + Environment.NewLine); throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } var files = HttpContext.Current.Request.Files; var uploadPath = HttpContext.Current.Server.MapPath("~/Images/AppImages"); var multipartFormDataStreamProvider = new CustomUploadMultipartFormProvider(uploadPath); File.AppendAllText(log_file_path, "---FileUploaded " + uploadPath + "---" + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + Environment.NewLine); File.AppendAllText(log_file_path, "---FileUploaded " + uploadPath + "---" + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + Environment.NewLine); await Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); File.AppendAllText(log_file_path, "---FileUploadedEnded" + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + Environment.NewLine); return(new HttpResponseMessage(HttpStatusCode.OK)); } catch (Exception e) { return(new HttpResponseMessage(HttpStatusCode.NotImplemented) { Content = new StringContent(e.Message) }); } }
public async Task <HttpResponseMessage> Post(string identifier) { try { string clientAddress = HttpContext.Current.Request.UserHostAddress; if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } //var fileNames = _blobStorageService.GetFileNames("0ba78538-af43-9802-249e-f489178a7bea"); //Save To this server location var uploadPath = HttpContext.Current.Server.MapPath("~/Uploads"); string subPath = "ImagesPath"; // your code goes here bool exists = System.IO.Directory.Exists(HttpContext.Current.Server.MapPath(subPath)); if (!exists) { System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(subPath)); } //Save file via CustomUploadMultipartFormProvider var multipartFormDataStreamProvider = new CustomUploadMultipartFormProvider(Path.GetTempPath()); var provider = new MultipartFormDataStreamProvider(Path.GetTempPath()); // Read the form data. await Request.Content.ReadAsMultipartAsync(provider); foreach (var fileData in provider.FileData) { string fileName = fileData.Headers.ContentDisposition.FileName; if (fileName.StartsWith("\"") && fileName.EndsWith("\"")) { fileName = fileName.Trim('"'); } if (fileName.Contains(@"/") || fileName.Contains(@"\")) { fileName = Path.GetFileName(fileName); } using (var filestream = File.OpenRead(fileData.LocalFileName)) { _blobStorageService.UploadFromStreamAsync(fileName, filestream, identifier); } File.Delete(fileData.LocalFileName); } return(new HttpResponseMessage(HttpStatusCode.OK)); } catch (Exception e) { return(new HttpResponseMessage(HttpStatusCode.NotImplemented) { Content = new StringContent(e.Message) }); } }
public async Task <HttpResponseMessage> Post(string extension, string EventDescription, string Folder_id, string intSchool_id) { try { if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } //Save To this server location var uploadPath = HttpContext.Current.Server.MapPath("~/image"); //HttpContext.Current.Server.MapPath("~/image"); string path = uploadPath; //The reason we not use the default MultipartFormDataStreamProvider is because //the saved file name is look weird, not believe me? uncomment below and try out, //the odd file name is designed for security reason -_-'. //var streamProvider = new MultipartFormDataStreamProvider(uploadPath); //Save file via CustomUploadMultipartFormProvider var multipartFormDataStreamProvider = new CustomUploadMultipartFormProvider(uploadPath, extension); // Read the MIME multipart asynchronously await Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); // Show all the key-value pairs. foreach (var key in multipartFormDataStreamProvider.FormData.AllKeys) { foreach (var val in multipartFormDataStreamProvider.FormData.GetValues(key)) { Console.WriteLine(string.Format("{0}: {1}", key, val)); } } //In Case you want to get the files name //string localFileName = multipartFormDataStreamProvider // .FileData.Select(multiPartData => multiPartData.LocalFileName).FirstOrDefault(); DataSet ds = record.GalleryDetail(extension, EventDescription, Folder_id); return(new HttpResponseMessage(HttpStatusCode.OK)); } catch (Exception e) { return(new HttpResponseMessage(HttpStatusCode.NotImplemented) { Content = new StringContent(e.Message) }); } }
public async System.Threading.Tasks.Task <HttpResponseMessage> UpdateUserAsync() { string path = HttpContext.Current.Server.MapPath("~/Uploads"); var multipartFormDataStreamProvider = new CustomUploadMultipartFormProvider(path); try { await Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); List <KeyValuePair <string, string> > formValues = FormUtlities.ParseFormKeys(multipartFormDataStreamProvider); User User = (User)HttpContext.Current.Session["currUser"]; List <string> paths = FormUtlities.filePaths(multipartFormDataStreamProvider);//need to insert to the db all images path User.Profileimage = paths.FirstOrDefault(); return(Request.CreateResponse(HttpStatusCode.OK, Update(User))); } catch (System.Exception e) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Error while trying to upload files!")); } }
public async System.Threading.Tasks.Task <HttpResponseMessage> UpdateCompnayAsync() { string path = HttpContext.Current.Server.MapPath("~/Uploads"); var multipartFormDataStreamProvider = new CustomUploadMultipartFormProvider(path); try { await Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); List <KeyValuePair <string, string> > formValues = FormUtlities.ParseFormKeys(multipartFormDataStreamProvider); //var CompanyString = formValues.Find(el => el.Key.Equals("company")).Value; Company Company = (Company)HttpContext.Current.Session["currCompany"]; List <string> paths = FormUtlities.filePaths(multipartFormDataStreamProvider);//need to insert to the db all images path Company.LogoUrl = paths.FirstOrDefault(); return(Request.CreateResponse(Update(Company))); } catch (System.Exception e) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Error while trying to upload files!")); } }
public async System.Threading.Tasks.Task <HttpResponseMessage> AddStandAsync() { string path = HttpContext.Current.Server.MapPath("~/Uploads"); var multipartFormDataStreamProvider = new CustomUploadMultipartFormProvider(path); try { await Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); List <KeyValuePair <string, string> > formValues = FormUtlities.ParseFormKeys(multipartFormDataStreamProvider); var workspaceString = formValues.Find(el => el.Key.Equals("stand")).Value; Stand Stand = JsonConvert.DeserializeObject <Stand>(workspaceString); List <string> paths = FormUtlities.filePaths(multipartFormDataStreamProvider);//need to insert to the db all images path Stand.Images = paths; return(Request.CreateResponse(HttpStatusCode.OK, AddStand(Stand))); } catch (System.Exception e) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Error while trying to upload files!")); } }
public async Task <HttpResponseMessage> Post(string command, string vchProfile, string intschool_id, string intAcademic_id, string intUser_id) { try { if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } var uploadPath = HttpContext.Current.Server.MapPath("~/image"); //HttpContext.Current.Server.MapPath("~/image"); string path = uploadPath; var multipartFormDataStreamProvider = new CustomUploadMultipartFormProvider(uploadPath, vchProfile); await Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); // Show all the key-value pairs. foreach (var key in multipartFormDataStreamProvider.FormData.AllKeys) { foreach (var val in multipartFormDataStreamProvider.FormData.GetValues(key)) { Console.WriteLine(string.Format("{0}: {1}", key, val)); } } Profile profile = new Profile(); profile.intAcademic_id = Convert.ToInt32(intAcademic_id); profile.intschool_id = Convert.ToInt32(intschool_id); profile.intUser_id = Convert.ToInt32(intUser_id); profile.vchProfile = vchProfile; DataSet ds = record.ProfileDetails(command, profile); return(new HttpResponseMessage(HttpStatusCode.OK)); } catch (Exception e) { return(new HttpResponseMessage(HttpStatusCode.NotImplemented) { Content = new StringContent(e.Message) }); } }
public async Task <HttpResponseMessage> Post(string extension) { try { if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } //Save To this server location var uploadPath = HttpContext.Current.Server.MapPath("~/image"); // HttpContext.Current.Server.MapPath("~/image"); string path = uploadPath; var multipartFormDataStreamProvider = new CustomUploadMultipartFormProvider(uploadPath, extension); // Read the MIME multipart asynchronously await Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); // Show all the key-value pairs. foreach (var key in multipartFormDataStreamProvider.FormData.AllKeys) { foreach (var val in multipartFormDataStreamProvider.FormData.GetValues(key)) { Console.WriteLine(string.Format("{0}: {1}", key, val)); } } return(new HttpResponseMessage(HttpStatusCode.OK)); } catch (Exception e) { return(new HttpResponseMessage(HttpStatusCode.NotImplemented) { Content = new StringContent(e.Message) }); } }
public async Task <IlanResimlerResponse> Post() { // Dictionary<string, object> dict = new Dictionary<string, object>(); IlanResimlerRequest request = new IlanResimlerRequest(); var httpRequest = HttpContext.Current.Request; try { if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } //Save To this server location var uploadPath = HttpContext.Current.Server.MapPath("~/Userimage"); //The reason we not use the default MultipartFormDataStreamProvider is because //the saved file name is look weird, not believe me? uncomment below and try out, //the odd file name is designed for security reason -_-'. //var streamProvider = new MultipartFormDataStreamProvider(uploadPath); //Save file via CustomUploadMultipartFormProvider var multipartFormDataStreamProvider = new CustomUploadMultipartFormProvider(uploadPath); FileResult fl = new FileResult() { FileNames = multipartFormDataStreamProvider.FileData.Select(entry => entry.LocalFileName), Names = multipartFormDataStreamProvider.FileData.Select(entry => entry.Headers.ContentDisposition.FileName), ContentTypes = multipartFormDataStreamProvider.FileData.Select(entry => entry.Headers.ContentType.MediaType), Description = multipartFormDataStreamProvider.FormData["description"], CreatedTimestamp = DateTime.UtcNow, UpdatedTimestamp = DateTime.UtcNow, DownloadLink = "TODO, will implement when file is persisited" }; // Read the MIME multipart asynchronously await Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); // Show all the key-value pairs. foreach (var key in multipartFormDataStreamProvider.FormData.AllKeys) { foreach (var val in multipartFormDataStreamProvider.FormData.GetValues(key)) { if (key == "id") { request.IlanId = Convert.ToInt32(val); } // Debug.WriteLine(string.Format("{0}: {1}", key, val)); } } List <string> list = new List <string>(); foreach (MultipartFileData file in multipartFormDataStreamProvider.FileData) { string fileName = file.Headers.ContentDisposition.FileName; if (fileName.StartsWith("\"") && fileName.EndsWith("\"")) { fileName = fileName.Trim('"'); ImagesProses.ResimBoyutlandir(fileName, 1200, 800); } list.Add(fileName); } //In Case you want to get the files name //string localFileName = multipartFormDataStreamProvider // .FileData.Select(multiPartData => multiPartData.LocalFileName).FirstOrDefault(); //IlanResimlerRequest request2 = new IlanResimlerRequest(); //foreach (var item in request.Resimler) //{ // request2.IlanId = request.IlanId; // request2.Resim = item; // return _ilanResimlerEngine.CreateAsync(request2); //} request.Resimler = list; return(await _ilanResimlerEngine.CreateAsync(request)); // return new HttpResponseMessage(HttpStatusCode.OK); } catch (Exception e) { new HttpResponseMessage(HttpStatusCode.NotImplemented) { Content = new StringContent(e.Message) }; return(null); } }
public async Task <HttpResponseMessage> Post(int imageType) { try { if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } //Save To this server location var uploadPath = ""; switch (imageType) { case (int)ImageType.Blog: uploadPath = Contants.BlogsUrl; break; case (int)ImageType.Product: uploadPath = Contants.ProductsUrl; break; case (int)ImageType.Sample: uploadPath = Contants.SamplesUrl; break; default: uploadPath = "~/Uploads"; break; } uploadPath = HttpContext.Current.Server.MapPath(uploadPath); //The reason we not use the default MultipartFormDataStreamProvider is because //the saved file name is look weird, not believe me? uncomment below and try out, //the odd file name is designed for security reason -_-'. //var streamProvider = new MultipartFormDataStreamProvider(uploadPath); //Save file via CustomUploadMultipartFormProvider var multipartFormDataStreamProvider = new CustomUploadMultipartFormProvider(uploadPath); // Read the MIME multipart asynchronously await Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); string fileName = ""; foreach (var fileData in multipartFormDataStreamProvider.FileData) { fileName = fileData.Headers.ContentDisposition.FileName; if (fileName.StartsWith("\"") && fileName.EndsWith("\"")) { fileName = fileName.Trim('"'); switch (imageType) { case (int)ImageType.Blog: uploadPath = Contants.BlogsUrl.Trim('~'); break; case (int)ImageType.Product: uploadPath = Contants.ProductsUrl.Trim('~'); break; case (int)ImageType.Sample: uploadPath = Contants.SamplesUrl.Trim('~'); break; default: uploadPath = "/Uploads"; break; } fileName = string.Format("{0}/{1}", uploadPath, fileName); } //if (fileName.Contains(@"/") || fileName.Contains(@"\")) //{ // fileName = Path.GetFileName(fileName); //} } return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(fileName) }); } catch (Exception e) { return(new HttpResponseMessage(HttpStatusCode.NotImplemented) { Content = new StringContent(e.Message) }); } }