public FileUploadResult ProcessUpload(HttpContext context) { var fileUploadResult = new FileUploadResult(); if (!ProgressFileUploader.HasFilesToUpload(context)) { return(fileUploadResult); } var file = new ProgressFileUploader.FileToUpload(context); if (String.IsNullOrEmpty(file.FileName) || file.ContentLength == 0) { throw new InvalidOperationException("Invalid file."); } if (0 < SetupInfo.MaxImageUploadSize && SetupInfo.MaxImageUploadSize < file.ContentLength) { throw FileSizeComment.FileImageSizeException; } if (FileUtility.GetFileTypeByFileName(file.FileName) != FileType.Image) { throw new UnknownImageFormatException(); } var photoUri = ContactPhotoManager.UploadPhoto(file.InputStream, Convert.ToInt32(context.Request["contactID"])); fileUploadResult.Success = true; fileUploadResult.Data = photoUri; return(fileUploadResult); }
public override void Process() { string uploadFileName = null; var file = Request.Files[UploadConfig.UploadFieldName]; uploadFileName = file.FileName; try { string uploadUrl = ConfigurationManager.AppSettings["uploadUrl"]; string subject = ConfigurationManager.AppSettings["OssSubject"]; string topDirectory = ConfigurationManager.AppSettings["TopDirectoryOfSubject"]; Result.OriginFileName = uploadFileName; FileManageClient client = new FileManageClient(uploadUrl); FileUploadResult result = client.Upload( uploadFileName, file.InputStream, subject, topDirectory); Result.Url = result.FileUrl; Result.State = UploadState.Success; } catch (Exception e) { Result.State = UploadState.FileAccessError; Result.ErrorMessage = e.Message; } finally { WriteResult(); } }
public FileUploadResult Execute(FileUpload file) { var result = new FileUploadResult(); try { var employees = _transformFile.Transform(file.FileBytes); _employeeRepository.AddEmployees(employees); result.Success = true; result.Message = "Successfully uploaded employees"; } catch (InvalidDataException) { result.Success = false; result.Message = "Invalid file"; } catch (Exception) { result.Success = false; result.Message = "Something went wrong"; } return(result); }
public FileUploadResult ProcessUpload(HttpContext context) { var fileUploadResult = new FileUploadResult(); if (!ProgressFileUploader.HasFilesToUpload(context)) { return(fileUploadResult); } var file = new ProgressFileUploader.FileToUpload(context); String assignedPath; Global.GetStore().SaveTemp("temp", out assignedPath, file.InputStream); file.InputStream.Position = 0; var jObject = ImportFromCSV.GetInfo(file.InputStream, context.Request["importSettings"]); jObject.Add("assignedPath", assignedPath); fileUploadResult.Success = true; fileUploadResult.Data = Convert.ToBase64String(Encoding.UTF8.GetBytes(jObject.ToString())); return(fileUploadResult); }
/// <summary> /// Upload File /// </summary> /// <param name="file"></param> /// <param name="folder"></param> /// <param name="newFileName">The new file name for the file</param> /// <returns></returns> public FileUploadResult UploadFile(IFormFile file, string folder, string newFileName = null) { FileUploadResult fileUploadResult = new FileUploadResult(); if (file.FileName.Length > 0) { string filename = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); string dirPath = "/media/" + (folder ?? "images"); string mapDirPath = mapPath(dirPath); if (!CreateDirIfNotExits(mapDirPath)) { return(fileUploadResult); } string extension = Path.GetExtension(filename); string filePath = GetUniqueFilePath(mapDirPath, newFileName ?? filename, extension); SaveFile(file, filePath); //strip off root paths filePath = filePath.Replace("\\", "/"); var regex = new Regex($@"({dirPath}(?:[^\s]+))", RegexOptions.IgnoreCase); if (regex.IsMatch(filePath)) { filePath = regex.Match(filePath).Captures[0].Value; } fileUploadResult = new FileUploadResult { LocalFilePath = filePath, FileName = filename, FileLength = file.Length }; } return(fileUploadResult); }
public HttpResponseMessage UploadImage(HttpRequestMessage request, int employeeId) { return(CreateHttpResponseMessage(request, () => { HttpResponseMessage response = null; var employee = _employeeService.GetEmployee(employeeId); if (employee == null) { response = request.CreateErrorResponse(HttpStatusCode.NotFound, "Employee not found."); } else { var uploadPath = HttpContext.Current.Server.MapPath("~/Content/images/employees"); var multipartFormDataStreamProvider = new UploadMultipartFormProvider(uploadPath); // Read MIME multipart Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); string _localFileName = multipartFormDataStreamProvider .FileData.Select(m => m.LocalFileName).FirstOrDefault(); // Create Response FileUploadResult result = new FileUploadResult { LocalFilePath = _localFileName, FileName = Path.GetFileName(_localFileName), FileLength = new FileInfo(_localFileName).Length }; employee.Image = result.FileName; _unitOfWork.Commit(); response = request.CreateResponse(HttpStatusCode.OK, result); } return response; })); }
public override void OnProcessRequest(HttpContext context) { var result = new FileUploadResult() { Success = false, Message = "type not found" }; if (!SecurityContext.IsAuthenticated) { Global.Authenticate(); } if (!String.IsNullOrEmpty(context.Request["type"])) { try { var uploadHandler = (IFileUploadHandler)Activator.CreateInstance(Type.GetType(context.Request["type"], true)); result = uploadHandler.ProcessUpload(context); } catch { } } context.Response.StatusCode = 200; context.Response.Write(AjaxPro.JavaScriptSerializer.Serialize(result)); }
/// <summary> /// Upload the specified file to the MediaCrush (or other) server. /// </summary> /// <param name="file">The file to upload</param> /// <returns>Returns one <see cref="FileUploadResult"/></returns> /// <remarks>API Doc Url: https://github.com/MediaCrush/MediaCrush/blob/master/docs/api.md#apiuploadfile </remarks> public static void UploadFileAsync(string file, UploadProgressChangedEventHandler progressHandler, Action <FileUploadResult> callback) { if (!File.Exists(file)) { throw new FileNotFoundException("Specified file doesn't exist", file); } Upload(BaseApiUrl + FileUploadApiUrl, file, progressHandler, (s, e) => { var json = Encoding.UTF8.GetString(e.Result); FileUploadResult result = JsonConvert.DeserializeObject <FileUploadResult>(json); // Because the hash is the key of the SharpCrushMediaFile (I have no idea why), dynamic objects are needed // var dynamicObject = JsonConvert.DeserializeObject <dynamic>(json); // Sometimes it returns a somewhat malformed array. // // https://github.com/MediaCrush/MediaCrush/issues/356 // if (dynamicObject[result.FileHash] is JArray) { // We going to have to get media files a different way // var mediaFile = GetFileInfo(result.FileHash); result.MediaFile = mediaFile; } if (dynamicObject[result.FileHash] is JObject) { // This is the expected/faster way // var jObject = (JObject)dynamicObject[result.FileHash]; result.MediaFile = jObject.ToObject <SharpCrushMediaFile>(); } callback(result); }); }
public FileUploadResult ProcessUpload(HttpContext context) { var fileUploadResult = new FileUploadResult(); if (!ProgressFileUploader.HasFilesToUpload(context)) { return(fileUploadResult); } var file = new ProgressFileUploader.FileToUpload(context); String assignedPath; Global.GetStore().SaveTemp("temp", out assignedPath, file.InputStream); file.InputStream.Position = 0; var jObject = ImportFromCSV.GetInfo(file.InputStream); jObject.Add("assignedPath", assignedPath); fileUploadResult.Success = true; fileUploadResult.Data = jObject.ToString(); return(fileUploadResult); }
public FileUploadResult ProcessUpload(HttpContext context) { if (!WebItemSecurity.IsAvailableForUser(ProductEntryPoint.ID.ToString(), SecurityContext.CurrentAccount.ID)) throw CRMSecurity.CreateSecurityException(); var fileUploadResult = new FileUploadResult(); if (!FileToUpload.HasFilesToUpload(context)) return fileUploadResult; var file = new FileToUpload(context); String assignedPath; Global.GetStore().SaveTemp("temp", out assignedPath, file.InputStream); file.InputStream.Position = 0; var jObject = ImportFromCSV.GetInfo(file.InputStream, context.Request["importSettings"]); jObject.Add("assignedPath", assignedPath); fileUploadResult.Success = true; fileUploadResult.Data = Global.EncodeTo64(jObject.ToString()); return fileUploadResult; }
public FileUploadResult ProcessUpload(HttpContext context) { var result = new FileUploadResult(); try { if (context.Request.Files.Count != 0) { var userPhoto = context.Request.Files[0]; var data = new byte[userPhoto.InputStream.Length]; var br = new BinaryReader(userPhoto.InputStream); br.Read(data, 0, (int)userPhoto.InputStream.Length); br.Close(); result.Data = UserPhotoManager.SaveTempPhoto(data, SetupInfo.MaxImageUploadSize, UserPhotoManager.MaxFotoSize.Width, UserPhotoManager.MaxFotoSize.Height); result.Success = true; } else { result.Success = false; result.Message = Resources.Resource.ErrorEmptyUploadFileSelected; } } catch (Exception ex) { result.Success = false; result.Message = ex.Message.HtmlEncode(); } return(result); }
public FileUploadResult Upload(string base64String) { try { string directory = $"StuAvatar/Images"; FileManageClient client = new FileManageClient(ConfigurationManager.AppSettings["uploadUrl"]); //base64String = base64String.Replace("data:image/png;base64,", string.Empty); base64String = base64String.Split(',')[1]; string fileName = Guid.NewGuid().ToString("N") + ".png"; //Base64形式的String转成byte[] var imgByte = Convert.FromBase64String(base64String); MemoryStream fs = null; FileUploadResult response = null; using (fs = new MemoryStream(imgByte)) { response = client.Upload(fileName, fs, ConfigurationManager.AppSettings["OssSubject"], directory, true); } if (response.Code == FileManageStatusCode.Success) { response.FileUrl = $"/{directory}/{response.FileName}"; } return(response); } catch (Exception ex) { throw new Exception("网络出错了,头像上传失败"); } }
public HttpResponseMessage Upload(HttpRequestMessage request, int deviceId) { return(CreateHttpResponseMessage(request, () => { HttpResponseMessage response = null; var device = _deviceService.GetDevice(deviceId); if (device == null) { response = request.CreateErrorResponse(HttpStatusCode.NotFound, "Invalid device."); } else { var uploadPath = HttpContext.Current.Server.MapPath("~/Content/images/devices"); var multipartFormDataStreamProvider = new UploadMultipartFormProvider(uploadPath); // Read the MIME multipart Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); string _localFileName = multipartFormDataStreamProvider .FileData.Select(m => m.LocalFileName).FirstOrDefault(); // Create response FileUploadResult result = new FileUploadResult { LocalFilePath = _localFileName, FileName = Path.GetFileName(_localFileName), FileLength = new FileInfo(_localFileName).Length }; // Update database device.Image = result.FileName; _deviceService.UpdateDevice(device); response = request.CreateResponse(HttpStatusCode.OK, result); } return response; })); }
public override FileUploadResult ProcessUpload(HttpContext context) { if (!SecurityContext.IsAuthenticated) { throw new HttpException(403, "Access denied."); } var result = new FileUploadResult { Success = false }; try { if (FileToUpload.HasFilesToUpload(context)) { var file = new FileToUpload(context); var maxFileSize = MaxFileSizeInMegabytes * 1024 * 1024; if (string.IsNullOrEmpty(file.FileName)) { throw new ArgumentException("Empty file name"); } if (maxFileSize < file.ContentLength) { throw new Exception(CalendarJSResource.calendarEventAttachments_fileSizeError); } var fileName = System.IO.Path.GetFileName(file.FileName); var document = new File { Title = fileName, FolderID = AttachmentEngine.GetTmpFolderId(), ContentLength = file.ContentLength, ThumbnailStatus = Thumbnail.NotRequired }; document = AttachmentEngine.SaveFile(document, file.InputStream); result.Data = new { id = document.ID.ToString(), title = document.Title, size = document.ContentLength, contentType = file.FileContentType, fileUrl = FileShareLink.GetLink(document) + "&tmp=true" }; result.Success = true; } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
public FileUploadResult ProcessUpload(HttpContext context) { var result = new FileUploadResult(); try { if (!SecurityContext.IsAuthenticated && SettingsManager.Instance.LoadSettings <WizardSettings>(TenantProvider.CurrentTenantID).Completed) { throw new SecurityException(Resource.PortalSecurity); } if (context.Request.Files.Count == 0) { throw new Exception(Resource.ErrorEmptyUploadFileSelected); } var licenseFile = context.Request.Files[0]; LicenseReader.SaveLicenseTemp(licenseFile.InputStream); result.Message = Resource.LicenseUploaded; result.Success = true; } catch (Exception ex) { LogManager.GetLogger(typeof(LicenseReader)).Error("License upload", ex); result.Message = ex.Message.HtmlEncode(); } return(result); }
public FileUploadResult ProcessUpload(HttpContext context) { var result = new FileUploadResult(); try { if (context.Request.Files.Count != 0) { var certificate = context.Request.Files[0]; var path = Path.Combine(Path.GetTempPath(), certificate.FileName); if (!File.Exists(path)) { certificate.SaveAs(path); } result.Success = true; result.Message = path; } else { result.Success = false; result.Message = Resource.ErrorEmptyUploadFileSelected; } } catch (Exception ex) { result.Success = false; result.Message = ex.Message.HtmlEncode(); } return(result); }
private FileUploadResult UploadFile(IFormFile file) { if (file == null) { throw new ArgumentNullException(nameof(file)); } FileUploadResult fileUploadResult = new FileUploadResult { IsSuccessful = false }; try { string extension = Path.GetExtension(file.FileName); using (var stream = file.OpenReadStream()) { var fileId = Guid.NewGuid().ToString(); var fileName = $"{fileId}{extension}"; var fileInfo = _filesService.Add(fileId, fileName, stream); fileUploadResult.FileInfo = fileInfo; } fileUploadResult.IsSuccessful = true; } catch (Exception ex) { _logger.LogCritical(ex, "There was an error while saving the file"); } return(fileUploadResult); }
private void btnBrowse_Click(object sender, EventArgs e) { DialogResult dr = this.openFileDialog1.ShowDialog(); if (dr == System.Windows.Forms.DialogResult.OK) { HttpClient client = new HttpClient(); try { foreach (string file in openFileDialog1.FileNames) { var fileStream = File.Open(file, FileMode.Open); var fileInfo = new FileInfo(file); FileUploadResult uploadResult = null; bool fileUploaded = false; var content = new MultipartFormDataContent(); content.Add(new StreamContent(fileStream), "\"file\"", string.Format("\"{0}\"", fileInfo.Name)); Task taskUpload = client.PostAsync(RequestUrl, content) .ContinueWith(task => { if (task.Status == TaskStatus.RanToCompletion) { var response = task.Result; if (response.IsSuccessStatusCode) { uploadResult = response.Content.ReadAsAsync <FileUploadResult>().Result; if (uploadResult != null) { fileUploaded = true; } foreach (var header in response.Content.Headers) { Debug.WriteLine("{0}: {1}", header.Key, string.Join(",", header.Value)); } } else { Debug.WriteLine("Status Code: {0} - {1}", response.StatusCode, response.ReasonPhrase); Debug.WriteLine("Response Body: {0}", response.Content.ReadAsStringAsync().Result); } } fileStream.Close(); }); taskUpload.Wait(); if (fileUploaded) { AddMessage(uploadResult.FileName + " with length " + uploadResult.FileLength + " has been uploaded at " + uploadResult.LocalFilePath); } } client.Dispose(); } catch (Exception ex) { AddMessage(ex.Message); } } }
public override FileUploadHandler.FileUploadResult ProcessUpload(HttpContext context) { var result = new FileUploadResult() { Success = false }; try { if (ProgressFileUploader.HasFilesToUpload(context)) { var settingsID = new Guid(context.Request["SettingsID"]); var settings = ForumManager.GetSettings(settingsID); var thread = ForumDataProvider.GetThreadByID(TenantProvider.CurrentTenantID, Convert.ToInt32(context.Request["ThreadID"])); if (thread == null) { return(result); } var forumManager = settings.ForumManager; var offsetPhysicalPath = string.Empty; forumManager.GetAttachmentVirtualDirPath(thread, settingsID, new Guid(context.Request["UserID"]), out offsetPhysicalPath); var file = new ProgressFileUploader.FileToUpload(context); var newFileName = GetFileName(file.FileName); var origFileName = newFileName; var i = 1; var store = forumManager.GetStore(); while (store.IsFile(offsetPhysicalPath + "\\" + newFileName)) { var ind = origFileName.LastIndexOf("."); newFileName = ind != -1 ? origFileName.Insert(ind, "_" + i.ToString()) : origFileName + "_" + i.ToString(); i++; } result.FileName = newFileName; result.FileURL = store.Save(offsetPhysicalPath + "\\" + newFileName, file.InputStream).ToString(); result.Data = new { OffsetPhysicalPath = offsetPhysicalPath + "\\" + newFileName, FileName = newFileName, Size = file.ContentLength, ContentType = file.FileContentType, SettingsID = settingsID }; result.Success = true; } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
public async Task <ApiResult <List <FileUploadResult> > > Upload([FromForm] IFormCollection formFiles) { IFormFileCollection cols = Request.Form.Files; var apiResult = new ApiResult <List <FileUploadResult> >(); apiResult.Code = Code.OK; var files = Request.Form.Files; if (files.Count > 0) { var resultFile = new List <FileUploadResult>(); foreach (var formFile in files) { if (formFile != null) { var virtualRootPath = $"/upload/{DateTime.Now:yyyy/MM}"; var fileResult = new FileUploadResult(); fileResult.FileName = System.IO.Path.GetFileName(formFile.FileName); fileResult.ContentType = formFile.ContentType; fileResult.ContentLength = formFile.Length; fileResult.Extension = System.IO.Path.GetExtension(formFile.FileName); fileResult.FriendlyFileName = Guid.NewGuid().ToString("N") + fileResult.Extension; fileResult.VirtualPath = $"{virtualRootPath}/{fileResult.FriendlyFileName}"; string fileName = System.IO.Path.GetFileName(formFile.FileName); string savePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, fileResult.VirtualPath); string saveRootPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, virtualRootPath); if (!System.IO.Directory.Exists(saveRootPath)) { System.IO.Directory.CreateDirectory(saveRootPath); } await using (var stream = System.IO.File.Create(savePath)) { await formFile.CopyToAsync(stream); } resultFile.Add(fileResult); } } apiResult.Code = Code.OK; apiResult.Message = "上传成功"; apiResult.Data = resultFile; } else { apiResult.Code = Code.BAD_REQUEST; apiResult.Message = "请选择上传文件"; } //TODO 目前不保存文件信息,后期需要再说 return(apiResult); }
/// <summary> /// Generates a file upload result /// </summary> /// <param name="virtualPath">The virtual download path</param> /// <returns>A file upload result with no unprocessed data</returns> public FileUploadResult FileUploadResult(HandlerUploadModel model) { ProcessDebit(model); var fur = new FileUploadResult(receiptDate, null, model.VirtualPath); this.Dispose(false); return(fur); }
public async Task ArchiveChannel(ISocketMessageChannel channel, [Remainder] string title) { var messages = await channel.GetMessagesAsync().Flatten(); using (ChannelArchive archive = new ChannelArchive(title)) { string voteEmote = _settings.Has("brackeys-emote") ? _settings.Get("brackeys-emote").Split(':').First() : string.Empty; foreach (IMessage msg in messages) { ArchiveMessage archiveMessage = new ArchiveEventSubmission(msg, voteEmote); IEnumerable <ArchiveImage> archiveImages = archiveMessage.GetMessageImages(); archive.AddMessage(archiveMessage); foreach (ArchiveImage image in archiveImages) { archive.AddImage(image); } } archive.CloseArchive(); string zippedArchive = archive.ZipArchive(); WeTransferClient wt = new WeTransferClient(BrackeysBot.Configuration["wetransfer-api-key"]); // Make sure we are authorized await wt.Authorize(); var fileInfo = new System.IO.FileInfo(zippedArchive); // Create Partial File Information so WeTransfer knows how many files // you're going to upload, the names of those files and their sizes PartialFileInfo[] partialFileInfos = new PartialFileInfo[] { new PartialFileInfo { Name = fileInfo.Name, Path = fileInfo.FullName, Size = (int)fileInfo.Length } }; // Create a File Transfer which informs WeTransfer that you're about to upload files // The second parameter is the transfer message which will show on the download page FileTransferResponse response = await wt.CreateTransfer(partialFileInfos, $"Download the archived channel #{channel.Name}!"); // Now you can upload the files! // The first parameter is the transfer's ID await wt.Upload(response.ID, response.Files); // Now you need to tell WeTransfer that your files have been uploaded FileUploadResult result = await wt.FinalizeUpload(response.ID, response.Files); // FileUploadResult contains the url to the download page and the date of the expiry StringBuilder reply = new StringBuilder() .AppendLine($"I archived the channel <#{channel.Id}> for you{(title == channel.Name ? "!" : $", under the name **{title}**!")}")
private void ReCheckData(DataTable table, FileUploadResult rt) { string stateColumnName = "状态"; table.Columns.Add(stateColumnName); StringBuilder builder = new StringBuilder(); Dictionary <string, DataRow> dictionary = new Dictionary <string, DataRow>(); List <DataRow> more = new List <DataRow>(); for (var i = 0; i < table.Rows.Count; i++) { DataRow row = table.Rows[i]; string value = row[0] == DBNull.Value ? "" : row[0].ToString(); if (string.IsNullOrEmpty(value)) { table.Rows.RemoveAt(i); i--; continue; } if (dictionary.ContainsKey(value)) { row[stateColumnName] = "重复"; more.Add(row); continue; } row[stateColumnName] = "待匹配"; dictionary.Add(value, row); builder.AppendFormat("'{0}',", value); } rt.All = table.Rows.Count; rt.ReDo = more.Count; string ids = builder.Length > 0 ? builder.ToString().Substring(0, builder.Length - 1) : ""; if (string.IsNullOrEmpty(ids)) { return; } using (DbHelper db = AppUtils.CreateDbHelper()) { DataTable hasTable = db.ExecuteSQL(string.Format("select * from bill where scode in ({0})", ids)); rt.Doned = hasTable.Rows.Count; int count = 0; for (var i = 0; i < hasTable.Rows.Count; i++) { DataRow tRow = hasTable.Rows[i]; DataRow tempRow = dictionary[tRow["scode"].ToString()]; tempRow[stateColumnName] = "已匹配"; } rt.NoRm = count; // label5.Text = string.Format("未排除行数:{0}行", count); } //rt.NoDo = table.Rows.Count; }
/// <summary> /// Generates a file upload result /// </summary> /// <param name="unprocessed"><see langword="true"/> if it should contains unprocessed data, otherwise <see langword="false"/></param> /// <param name="virtualPath">The virtual download path</param> /// <returns>If true, returns a file upload result with the unprocessed data, otherwise the unprocessed data will be null</returns> public FileUploadResult FileUploadResult(HandlerUploadModel model, bool unprocessed) { ProcessDebit(model); var uContent = unprocessed ? Unprocessed.ToString() : null; var fur = new FileUploadResult(receiptDate, uContent, model.VirtualPath); this.Dispose(false); return(fur); }
public override FileUploadResult ProcessUpload(HttpContext context) { var fileUploadResult = new FileUploadResult(); if (!ProgressFileUploader.HasFilesToUpload(context)) { return(fileUploadResult); } var file = new ProgressFileUploader.FileToUpload(context); if (String.IsNullOrEmpty(file.FileName) || file.ContentLength == 0) { throw new InvalidOperationException("Invalid file."); } if (0 < SetupInfo.MaxUploadSize && SetupInfo.MaxUploadSize < file.ContentLength) { throw FileSizeComment.FileSizeException; } if (CallContext.GetData("CURRENT_ACCOUNT") == null) { CallContext.SetData("CURRENT_ACCOUNT", new Guid(context.Request["UserID"])); } var fileName = file.FileName.LastIndexOf('\\') != -1 ? file.FileName.Substring(file.FileName.LastIndexOf('\\') + 1) : file.FileName; var document = new File { Title = fileName, FolderID = Global.DaoFactory.GetFileDao().GetRoot(), ContentLength = file.ContentLength }; document.ContentType = MimeMapping.GetMimeMapping(document.Title); document = Global.DaoFactory.GetFileDao().SaveFile(document, file.InputStream); fileUploadResult.Data = document.ID; fileUploadResult.FileName = document.Title; fileUploadResult.FileURL = document.FileUri; fileUploadResult.Success = true; return(fileUploadResult); }
public FileUploadResult ProcessUpload(HttpContext context) { var fileUploadResult = new FileUploadResult(); if (!ProgressFileUploader.HasFilesToUpload(context)) { return(fileUploadResult); } var file = new ProgressFileUploader.FileToUpload(context); if (String.IsNullOrEmpty(file.FileName) || file.ContentLength == 0) { throw new InvalidOperationException("Invalid file."); } if (0 < SetupInfo.MaxImageUploadSize && SetupInfo.MaxImageUploadSize < file.ContentLength) { fileUploadResult.Success = false; fileUploadResult.Message = FileSizeComment.GetFileImageSizeNote(CRMCommonResource.ErrorMessage_UploadFileSize, false).HtmlEncode(); return(fileUploadResult); } if (FileUtility.GetFileTypeByFileName(file.FileName) != FileType.Image) { fileUploadResult.Success = false; fileUploadResult.Message = CRMJSResource.ErrorMessage_NotImageSupportFormat.HtmlEncode(); return(fileUploadResult); } var contactId = Convert.ToInt32(context.Request["contactID"]); var uploadOnly = Convert.ToBoolean(context.Request["uploadOnly"]); var tmpDirName = Convert.ToString(context.Request["tmpDirName"]); var photoUri = ""; if (contactId != 0) { photoUri = ContactPhotoManager.UploadPhoto(file.InputStream, contactId, uploadOnly); } else { if (String.IsNullOrEmpty(tmpDirName)) { tmpDirName = Guid.NewGuid().ToString(); } photoUri = ContactPhotoManager.UploadPhoto(file.InputStream, tmpDirName); } fileUploadResult.Success = true; fileUploadResult.Data = photoUri; return(fileUploadResult); }
public async Task <FileUploadResult> Post() { try { // Получаем из заголовков идентификатор пользователя var userId = Request.Headers.GetValues("userId").ToArray <string>()[0]; // Получаем папку для загрузки файлов пользователя var uploadFolder = ConfigurationManager.AppSettings["UploadsFolder"]; // Формируем путь для загрузки файлов пользователя var uploadPath = string.Format("{0}/{1}", uploadFolder, userId); // Если директория не существует, то создает ее if (!Directory.Exists(uploadPath)) { Directory.CreateDirectory(uploadPath); } // Создаем провайдер загрузки var multipartFormDataStreamProvider = new UploadMultipartFormProvider(uploadPath); // Асинхронно читаем данные await Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider); // Получаем имя файла string localFileName = multipartFormDataStreamProvider .FileData.Select(multiPartData => multiPartData.LocalFileName).FirstOrDefault(); // Создаем ответ клиенту var result = new FileUploadResult { LocalFilePath = localFileName, FileName = Path.GetFileName(localFileName), FileLength = new FileInfo(localFileName).Length }; // Получаем данные о загружаемом файле var tags = multipartFormDataStreamProvider.FormData; // Формируем объект класса файл из полученных данных о файле var musicFile = new MusicFile() { id = Guid.Parse(tags["fileGuid"]), localDevicePathUpload = Path.Combine(tags["filePath"], tags["filename"]), path = Path.Combine(uploadPath, Path.GetFileName(localFileName)), userId = Guid.Parse(userId) }; // Добавляем в БД информацию о принятом файле musicFile.registerFile(); // Возвращаем результат загрузки клиенту return(result); } catch (Exception ex) { var str = ex.Message; } return(null); }
public FileUploadResult ProcessUpload(HttpContext context) { var result = new FileUploadResult(); try { if (!SecurityContext.IsAuthenticated && WizardSettings.Load().Completed) { throw new SecurityException(Resource.PortalSecurity); } if (context.Request.Files.Count == 0) { throw new Exception(Resource.ErrorEmptyUploadFileSelected); } var licenseFile = context.Request.Files[0]; var dueDate = LicenseReader.SaveLicenseTemp(licenseFile.InputStream); result.Message = dueDate >= DateTime.UtcNow.Date ? Resource.LicenseUploaded : string.Format( (TenantExtra.GetTenantQuota().Update ? Resource.LicenseUploadedOverdueSupport : Resource.LicenseUploadedOverdue), "<span class='tariff-marked'>", "</span>", dueDate.Date.ToLongDateString()); result.Success = true; } catch (LicenseExpiredException ex) { Log.Error("License upload", ex); result.Message = Resource.LicenseErrorExpired; } catch (LicenseQuotaException ex) { Log.Error("License upload", ex); result.Message = Resource.LicenseErrorQuota; } catch (LicensePortalException ex) { Log.Error("License upload", ex); result.Message = Resource.LicenseErrorPortal; } catch (Exception ex) { Log.Error("License upload", ex); result.Message = Resource.LicenseError; } return(result); }
public FileUploadResult ProcessUpload(HttpContext context) { if (!CRMSecurity.IsAdmin) { throw CRMSecurity.CreateSecurityException(); } var fileUploadResult = new FileUploadResult(); if (!FileToUpload.HasFilesToUpload(context)) { return(fileUploadResult); } var file = new FileToUpload(context); if (String.IsNullOrEmpty(file.FileName) || file.ContentLength == 0) { throw new InvalidOperationException(CRMErrorsResource.InvalidFile); } if (0 < SetupInfo.MaxImageUploadSize && SetupInfo.MaxImageUploadSize < file.ContentLength) { fileUploadResult.Success = false; fileUploadResult.Message = FileSizeComment.GetFileImageSizeNote(CRMCommonResource.ErrorMessage_UploadFileSize, false).HtmlEncode(); return(fileUploadResult); } if (FileUtility.GetFileTypeByFileName(file.FileName) != FileType.Image) { fileUploadResult.Success = false; fileUploadResult.Message = CRMJSResource.ErrorMessage_NotImageSupportFormat.HtmlEncode(); return(fileUploadResult); } try { var imageData = Global.ToByteArray(file.InputStream); var imageFormat = ContactPhotoManager.CheckImgFormat(imageData); var photoUri = OrganisationLogoManager.UploadLogo(imageData, imageFormat); fileUploadResult.Success = true; fileUploadResult.Data = photoUri; return(fileUploadResult); } catch (Exception exception) { fileUploadResult.Success = false; fileUploadResult.Message = exception.Message.HtmlEncode(); return(fileUploadResult); } }
public FileUploadResult UploadLicense(IEnumerable <HttpPostedFileBase> attachments) { if (!CoreContext.Configuration.Standalone) { throw new NotSupportedException(); } var license = attachments.FirstOrDefault(); if (license == null) { throw new Exception(Resource.ErrorEmptyUploadFileSelected); } var result = new FileUploadResult(); try { var dueDate = LicenseReader.SaveLicenseTemp(license.InputStream); result.Message = dueDate >= DateTime.UtcNow.Date ? Resource.LicenseUploaded : string.Format(Resource.LicenseUploadedOverdue, string.Empty, string.Empty, dueDate.Date.ToLongDateString()); result.Success = true; } catch (LicenseExpiredException ex) { LogManager.GetLogger("ASC").Error("License upload", ex); result.Message = Resource.LicenseErrorExpired; } catch (LicenseQuotaException ex) { LogManager.GetLogger("ASC").Error("License upload", ex); result.Message = Resource.LicenseErrorQuota; } catch (LicensePortalException ex) { LogManager.GetLogger("ASC").Error("License upload", ex); result.Message = Resource.LicenseErrorPortal; } catch (Exception ex) { LogManager.GetLogger("ASC").Error("License upload", ex); result.Message = Resource.LicenseError; } return(result); }
public override FileUploadResult ProcessUpload(HttpContext context) { var fileUploadResult = new FileUploadResult(); if (!ProgressFileUploader.HasFilesToUpload(context)) return fileUploadResult; var file = new ProgressFileUploader.FileToUpload(context); if (String.IsNullOrEmpty(file.FileName) || file.ContentLength == 0) throw new InvalidOperationException("Invalid file."); if (0 < SetupInfo.MaxUploadSize && SetupInfo.MaxUploadSize < file.ContentLength) throw FileSizeComment.FileSizeException; if (CallContext.GetData("CURRENT_ACCOUNT") == null) CallContext.SetData("CURRENT_ACCOUNT", new Guid(context.Request["UserID"])); var fileName = file.FileName.LastIndexOf('\\') != -1 ? file.FileName.Substring(file.FileName.LastIndexOf('\\') + 1) : file.FileName; var document = new File { Title = fileName, FolderID = Global.DaoFactory.GetFileDao().GetRoot(), ContentLength = file.ContentLength }; document.ContentType = MimeMapping.GetMimeMapping(document.Title); document = Global.DaoFactory.GetFileDao().SaveFile(document, file.InputStream); fileUploadResult.Data = document.ID; fileUploadResult.FileName = document.Title; fileUploadResult.FileURL = document.FileUri; fileUploadResult.Success = true; return fileUploadResult; }