我有一个主要从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" );
}
}
}
答案 0 :(得分:1)
简短回答,不。
您必须指示用户保存图像。但您可以使用服务器可以创建的Passbook文件,以允许用户保存优惠券。
您可以在此处阅读有关Passbook的更多信息:Passbook Programming Guide 苹果简单Passbook示例:Building Your First Pass