encoding را به این نحو باید تنظیم کرد:
«نحوه استفاده از Text templateها در دات نت - قسمت سوم»
<#@ output extension=".cs" encoding="utf-8" #>
<#@ output extension=".cs" encoding="utf-8" #>
<script type="text/javascript"> alert('test'); </script>
"برای این موارد متداول از تاریخ تا تاریخ، از همان SQL معمولی استفاده کنید "منظورتون اینه که تو جستجوهای پیشرفته باید از روش معمول و like(یعنی بدون استفاده از full text search و lucene)استفاده بشه؟
public iTextSharp.text.Font GetBNazanin() { var fontName = "BNazanin"; var fontPath = Path.Combine(_hostingEnvironment.WebRootPath + @"\css\font\BNazanin\BNazanin.ttf"); if (!FontFactory.IsRegistered(fontName))// به درستی کار میکند و در صورت وجود از کش میخواند { FontFactory.Register(fontPath); } return FontFactory.GetFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); }
public iTextSharp.text.Font GetIRANSans() { var fontName = "IRANSansWeb(FaNum)_Medium"; var fontPath = Path.Combine(_hostingEnvironment.WebRootPath + @"\css\font\IRANSansWeb(FaNum)_Medium.ttf"); if (!FontFactory.IsRegistered(fontName))// always false { FontFactory.Register(fontPath); } return FontFactory.GetFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); }
<asp:UpdatePanel runat="server" id="UpdatePanel1">
<ContentTemplate>
<asp:FileUpload runat="server" id="FileUpload1" />
<asp:Button runat="server" id="btnSubmit" Text="Upload" />
</ContentTemplate>
<Triggers>
<asp:postbacktrigger ControlID="btnSubmit" />
</Triggers>
</asp:UpdatePanel>
using System.IO; using System.Net.Mime; using System.Web.Mvc; namespace MvcWatermark.Controllers { public class HomeController : Controller { const int ADay = 86400; public ActionResult Index() { return View(); } [OutputCache(VaryByParam = "fileName", Duration = ADay)] public ActionResult Image(string fileName) { fileName = Path.GetFileName(fileName); // تمیز سازی امنیتی است var rootPath = Server.MapPath("~/App_Data/Images"); var path = Path.Combine(rootPath, fileName); if (!System.IO.File.Exists(path)) { var notFoundImage = "notFound.png"; path = Path.Combine(rootPath, notFoundImage); return File(path, MediaTypeNames.Image.Gif, notFoundImage); } return File(path, MediaTypeNames.Image.Gif, fileName); } } }
<img src="@Url.Action(actionName: "Image", controllerName: "Home", routeValues: new { fileName = "EF_Stra_08.gif" })" />
private bool isEmbeddedIntoAnotherDomain { get { return this.HttpContext.Request.UrlReferrer != null && !this.HttpContext.Request.Url.Host.Equals(this.HttpContext.Request.UrlReferrer.Host, StringComparison.InvariantCultureIgnoreCase); } }
private byte[] addWaterMark(string filePath, string text) { var image = new WebImage(filePath); image.AddTextWatermark(text); return image.GetBytes(); }
A Graphics object cannot be created from an image that has an indexed pixel format.
PixelFormatUndefined PixelFormatDontCare PixelFormat1bppIndexed PixelFormat4bppIndexed PixelFormat8bppIndexed PixelFormat16bppGrayScale PixelFormat16bppARGB1555
private byte[] addWaterMark(string filePath, string text) { using (var img = System.Drawing.Image.FromFile(filePath)) { using (var memStream = new MemoryStream()) { using (var bitmap = new Bitmap(img))//avoid gdi+ errors { bitmap.Save(memStream, ImageFormat.Png); var webImage = new WebImage(memStream); webImage.AddTextWatermark(text, verticalAlign: "Top", horizontalAlign: "Left", fontColor: "Brown"); return webImage.GetBytes(); } } } }
if (isEmbeddedIntoAnotherDomain) { var text = Url.Action(actionName: "Index", controllerName: "Home", routeValues: null, protocol: "http"); var content = addWaterMark(path, text); return File(content, MediaTypeNames.Image.Gif, fileName); } return File(path, MediaTypeNames.Image.Gif, fileName);
private string HandleHttpError(Exception ex, string text) { switch(ex) { case HttpException httpEx: return httpEx.StatusCode switch { 404 => "[NOT FOUND]", 500 => "[INTERNAL SERVER ERROR]", _ => text }; default: return text; } }
private string HandleHttpError(Exception ex, string text) { if (ex is HttpException { StatusCode: 404}) { return $"[NOT FOUND]"; } else if (ex is HttpException { StatusCode: 500}) { return $"[INTERNAL SERVER ERROR]"; } else { return text; } }