1

Url.Action を使用してイメージ src を設定する JQuery 日付ピッカーがあります。

 <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での表示が停止すると私は信じています。

4

1 に答える 1

0

.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';

于 2012-09-16T17:39:20.533 に答える