[英]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.