public void Process(UploadArgs args) { Assert.ArgumentNotNull((object)args, nameof(args)); if (args.Destination == UploadDestination.File) { return; } foreach (string file1 in args.Files) { HttpPostedFile file2 = args.Files[file1]; if (!string.IsNullOrEmpty(file2.FileName)) { if (UploadProcessor.IsUnpack(args, file2)) { ZipReader zipReader = new ZipReader(file2.InputStream); try { foreach (ZipEntry entry in zipReader.Entries) { if (!entry.IsDirectory && !UploadFileSettings.IsAllowedFile(entry.Name, entry.Size)) { string text = file2.FileName + "/" + entry.Name; args.UiResponseHandlerEx.FileTooBigForUpload(StringUtil.EscapeJavascriptString(text)); args.ErrorText = UploadFileSettings.FileErrorMessage(file2.FileName); args.AbortPipeline(); return; } } } finally { file2.InputStream.Position = 0L; } } else if (!UploadFileSettings.IsAllowedFile(file2)) { string fileName = file2.FileName; if (HttpContext.Current.Request.Url.AbsolutePath != "/sitecore/shell/api/sitecore/Media/Upload") { args.UiResponseHandlerEx.FileTooBigForUpload(StringUtil.EscapeJavascriptString(fileName)); } args.ErrorText = UploadFileSettings.FileErrorMessage(file2.FileName); args.AbortPipeline(); break; } } } }
public void Process(AttachArgs args) { if (UploadFileSettings.IsAllowedFile(args.FileWrapper)) { return; } string errorMessage = UploadFileSettings.FileErrorMessage(args.FileWrapper.FileName); HttpContext.Current.Response.Write( "<html><head><script type=\"text/JavaScript\" language=\"javascript\">window.top.scForm.getTopModalDialog().frames[0].scForm.postRequest(\"\", \"\", \"\", 'ShowAlert(\"" + errorMessage + "\")')</script></head><body>Done</body></html>"); args.AbortPipeline(); }
public static void ResaveImage(FineUpload upload, string filename, UploadFileSettings settings = null) { // в некоторые типы картинок можно запихать код для исполнения, чтобы пресечь это, необходимо пересохранить кратинку using (var img = Image.FromStream(upload.InputStream)) { // подготовка картинки к сохраниению, рисуем ватермарки и тыды if (settings != null && settings.IsImage) { if (settings.Watermarks.Any(watermarkSettings => watermarkSettings.FillType != WatermarkFillType.None)) { using (var g = Graphics.FromImage(img)) { foreach (var wm in settings.Watermarks) { using (var wmImage = Image.FromFile(HttpContext.Current.Server.MapPath(wm.RelativePath))) { var k = 1.0; if ((wm.ReduceWidth.HasValue && img.Width <= wm.ReduceWidth.Value) || (wm.ReduceHeight.HasValue && img.Height <= wm.ReduceHeight.Value)) { k = wm.ReduceFactor; } var width = wmImage.Width / k; var height = wmImage.Height / k; if (wm.FillType == WatermarkFillType.Mosaic) { var cY = 0; while (cY < img.Height) { var cX = 0; while (cX < img.Width) { g.DrawImage(wmImage, new Rectangle(cX, cY, (int)width, (int)height)); cX += wmImage.Width; } cY += wmImage.Height; } } else { // координаты на исходном изображении куда выводить ватермарк var left = 0.0; var top = 0.0; switch (wm.FillType) { case WatermarkFillType.TopLeft: left = wm.Margins.Left / k; top = wm.Margins.Top / k; break; case WatermarkFillType.TopRight: left = img.Width - wm.Margins.Right / k - width; top = wm.Margins.Top / k; break; case WatermarkFillType.BottomLeft: left = wm.Margins.Left / k; top = img.Height - wm.Margins.Bottom / k - height; break; case WatermarkFillType.BottomRight: left = img.Width - wm.Margins.Right / k - width; top = img.Height - wm.Margins.Bottom / k - height; break; case WatermarkFillType.Center: left = (img.Width - width) / 2; top = (img.Height - height) / 2; break; case WatermarkFillType.Stretch: left = wm.Margins.Left / k; top = wm.Margins.Top / k; width = img.Width - wm.Margins.Right / k; height = img.Height - wm.Margins.Bottom / k; break; case WatermarkFillType.Custom: left = wm.Left + wm.Margins.Left; top = wm.Top + wm.Margins.Top; width = wm.Width == 0 ? wmImage.Width : wm.Width; height = wm.Height == 0 ? wmImage.Height : wm.Height; break; default: throw new ArgumentOutOfRangeException(); } g.DrawImage(wmImage, new Rectangle((int)left, (int)top, (int)width, (int)height)); } } } } } } SaveByExt(img, filename); } }
public System.Web.WebPages.HelperResult RenderScript(UploadFileSettings upload, IFileEntity file) { #line default #line hidden return(new System.Web.WebPages.HelperResult(__razor_helper_writer => { #line 74 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" #line default #line hidden WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "\r\n files[\""); #line 76 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" WriteTo(__razor_helper_writer, upload.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "_array\"].files.push(new FileItem({ Id: "); #line 76 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" WriteTo(__razor_helper_writer, file.Id); #line default #line hidden WriteLiteralTo(__razor_helper_writer, ", Url: \""); #line 76 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" WriteTo(__razor_helper_writer, Url.Content(file.Name)); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\", SourceName: \""); #line 76 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" WriteTo(__razor_helper_writer, file.SourceName); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\", Alt: \""); #line 76 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" WriteTo(__razor_helper_writer, file.Alt); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\", Title: \""); #line 76 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" WriteTo(__razor_helper_writer, file.Title); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\", Description: \""); #line 76 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" WriteTo(__razor_helper_writer, file.Description); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\", Date: \""); #line 76 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" WriteTo(__razor_helper_writer, file.Date); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\", Visibility: "); #line 76 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" WriteTo(__razor_helper_writer, file.Visibility.ToString().ToLower()); #line default #line hidden WriteLiteralTo(__razor_helper_writer, " }));\r\n "); WriteLiteralTo(__razor_helper_writer, "\r\n"); #line 78 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" #line default #line hidden })); #line 78 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_File.cshtml" }