public static ViewDataUploadFileResult StoreFile(Action<MvcFileSave> action) { var mvcFile = new MvcFileSave(); mvcFile.FileTimeStamp = DateTime.Now.ToUniversalTime(); action(mvcFile); ViewDataUploadFileResult status; var dirInfo = new DirectoryInfo(mvcFile.StorageDirectory); var file = mvcFile.File; var fileNameWithoutPath = Path.GetFileName(mvcFile.File.FileName); var fileExtension = Path.GetExtension(fileNameWithoutPath); var fileName = Path.GetFileNameWithoutExtension(Path.GetFileName(mvcFile.File.FileName)); var genName = fileName + "-" + mvcFile.FileTimeStamp.ToFileTime(); var genFileName = String.IsNullOrEmpty(mvcFile.FileName) ? genName + fileExtension : mvcFile.FileName;// get filename if set var fullPath = Path.Combine(mvcFile.StorageDirectory, genFileName); try { var viewDataUploadFileResult = new ViewDataUploadFileResult() { name = fileNameWithoutPath, SavedFileName = genFileName, size = file.ContentLength, type = file.ContentType, url = mvcFile.UrlPrefix + "/" + genFileName, //delete_url = Url.Action("DeleteFile", new { fileUrl = "/"+storageRoot+"/" + genFileName }), //thumbnail_url = thumbUrl + "?width=100", deleteType = "POST", Title = fileName, //for controller use FullPath = dirInfo.FullName + "/" + genFileName }; //add delete url mvcFile.AddFileUriParamToDeleteUrl("fileUrl", viewDataUploadFileResult.url); viewDataUploadFileResult.deleteUrl = mvcFile.DeleteUrl; status = viewDataUploadFileResult; mvcFile.File.SaveAs(fullPath); } catch (Exception exc) { if (mvcFile.ThrowExceptions) throw; status = new ViewDataUploadFileResult() { error = exc.Message, name = file.FileName, size = file.ContentLength, type = file.ContentType }; } return status; }
public static ViewDataUploadFileResult StoreFile(Action<MvcFileSave> action) { var mvcFile = new MvcFileSave(); action(mvcFile); ViewDataUploadFileResult status; var dirInfo = new DirectoryInfo(mvcFile.StorageDirectory); var file = mvcFile.File; var fileExtension = Path.GetExtension(mvcFile.File.FileName); var fileName = Path.GetFileNameWithoutExtension(mvcFile.File.FileName); var genName = fileName + "-" + DateTime.Now.ToFileTimeUtc(); var genFileName = genName + fileExtension; var fullPath = Path.Combine(mvcFile.StorageDirectory, genFileName); try { mvcFile.File.SaveAs(fullPath); var viewDataUploadFileResult = new ViewDataUploadFileResult() { name = file.FileName, size = file.ContentLength, type = file.ContentType, url = mvcFile.UrlPrefix + "/" + genFileName, //delete_url = Url.Action("DeleteFile", new { fileUrl = "/"+storageRoot+"/" + genFileName }), //thumbnail_url = thumbUrl + "?width=100", delete_type = "POST", title = fileName, //for controller use fullpath = dirInfo.FullName + "/" + genFileName }; //add delete url mvcFile.AddFileUriParamToDeleteUrl("fileUrl", viewDataUploadFileResult.url); viewDataUploadFileResult.delete_url = mvcFile.DeleteUrl; status = viewDataUploadFileResult; } catch (Exception exc) { status=new ViewDataUploadFileResult() { error = "error: " + exc.Message, name = file.FileName, size = file.ContentLength, type = file.ContentType, title = fileName }; } return status; }