簡體   English   中英

ASP.NET MVC ActionResult在iPad上未顯示圖像

[英]ASP.NET MVC ActionResult not showing image on IPad

我有一個JQuery datepicker,它使用Url.Action填充圖像src。

 <script type="text/javascript">
        $(function () {
            $('#datepicker').datepicker({
                inline: true,
                altField: '#selecteddate',
                altFormat: 'dd-mm-yy',
                onSelect: function () {
                    var date = $('#datepicker').datepicker('option', 'dateFormat', 'yy-mm-dd');
                    $('#diary img').attr(
                        'src',
                        '<%= Url.Action("Image") %>/' + date.val().toString());
                }
            });
        });        
    </script>

圖片是在我的控制器上使用以下操作將內存中的位圖轉換為png的圖像

public class ImageResult : ActionResult
{
    Image image;

    public ImageResult(Image image)
    {
        this.image = image;
    }

    public override void ExecuteResult(ControllerContext context)
    {
        context.HttpContext.Response.Clear();
        context.HttpContext.Response.ContentType = "image/png"; 

        image.Save(context.HttpContext.Response.OutputStream, ImageFormat.Png);                         
        image.Dispose();
    }
}

圖像顯示正常,但是圖像src沒有擴展名,因此顯示為/ 2012-07-11如何添加擴展名.png? 就像沒有我相信它會阻止它在Ipad上顯示一樣。

您可以重新創建一個內置.png擴展名的新路由:

routes.MapRoute(
   "Image", // Route name
   "tunnel/image/{id}.png", // URL with parameters
   new { controller = "Tunnel", action = "Image" }            
);

然后像這樣更新您的javascript:

'tunnel/image/' + date.val().toString() + '.png';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM