在iPhone上另存为图像

时间:2014-11-18 14:19:09

标签: asp.net iphone asp.net-mvc-4 save-as

我有一个主要从iPhone访问的网站。 在我的页面上,用户有机会获得折扣券。我需要实现一项功能,用户可以使用该功能将优惠券图像保存在他的设备上。

我创建了一个控制器,它将文件返回给客户端但不幸的是浏览器只显示图像,因为它知道的内容类型为image/png

有没有办法让iPhone直接保存图像?

这是我的控制器操作代码

[AllowAnonymous]
public ActionResult SaveAsImage( string code, int campaign ) {
    string theUrl = string.Format( Constants.DEFAULT_CONSUME_URL, code, campaign );
    var barcodeWriter = new BarcodeWriter() {
        Format = BarcodeFormat.QR_CODE,
        Options = new EncodingOptions {
            Height = 250,
            Width = 250,
            Margin = 0
        }
    };
    using ( var bitmap = barcodeWriter.Write( theUrl ) ) {
        using ( var stream = new MemoryStream() ) {
            bitmap.Save( stream, ImageFormat.Png );
            var cd = new System.Net.Mime.ContentDisposition {
                // for example foo.bak
                FileName = "coupon.png",
                // always prompt the user for downloading, set to true if you want 
                // the browser to try to show the file inline
                Inline = false,
            };
            Response.AppendHeader( "Content-Disposition", cd.ToString() );
            return File( stream.ToArray(), "image/png" );
        }
    }
}

1 个答案:

答案 0 :(得分:1)

简短回答,不。

您必须指示用户保存图像。但您可以使用服务器可以创建的Passbook文件,以允许用户保存优惠券。

您可以在此处阅读有关Passbook的更多信息:Passbook Programming Guide 苹果简单Passbook示例:Building Your First Pass