mvc下返回一个二维码显示?

a102470 2013-06-27 11:37:43
使用的是thoughtworks.QRCode.dll来生成二维码的,代码如下:[HttpPost]
public ActionResult GetImg()
{
if (Request.Params["chl"] == null) { return null; }
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
try
{
int scale = Convert.ToInt16(Request.Params["size"].ToString());
qrCodeEncoder.QRCodeScale = scale;
}
catch { }
String data = Request.Params["chl"].ToString();
MemoryStream ms = new MemoryStream();
System.Drawing.Image myimg = qrCodeEncoder.Encode(data, System.Text.Encoding.UTF8); //kedee 增加utf-8编码,可支持中文汉字
myimg.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
myimg.Dispose();
return File(ms.ToArray(), "image/jpeg");
}


function get(){
var url = "../../AMSBasicInfo/GetImg";
var tt = {
"chl":123,
"size": 4
};
$.post(url, tt})
}
要显示的区域:
<div id="DR" class="easyui-window" data-options="iconCls:'icon-save',modal:true,autoCenter:true" style="width:340px;height:320px;padding: 5px;" closed="true">
<div class="easyui-layout" data-options="fit:true">
<form id="QrCode" novalidate method="post">
<div data-options="region:'center',split:true" style="width: 320px">
<div id="printArea">
<div id="qrcodePrintArea" style="position:absolute;width:180px;height:180px;" >
<img src="../../AMSBasicInfo/GetImg" alt="" />
</div>
</div>
<br />

</div>
<div data-options="region:'south',border:false" style="text-align: center;padding:5px;">
<a class="easyui-linkbutton" data-options="iconCls:'icon-ok'" href="javascript:void(0)" onclick="get()">重新生成</a>
<a class="easyui-linkbutton" data-options="iconCls:'icon-print'" href="javascript:void(0)" onclick="print()">打印</a>
<a class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" href="javascript:void(0)" onclick="$('#DR').window('close')">取消</a>
</div>
</form>
</div>
</div>

代码那里出现问题了呢?为何不能在要显示的区域显示呢?
...全文
175 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 a102470 的回复:
[quote=引用 3 楼 Chinajiyong 的回复:] 直接用js把生成的图片路径赋给img的src属性
$.post(url, tt, function (res) { var pic = document.getElementById("picture"); pic.src = res; }); <img id="picture" src="" />老大,我这样写,为何获得的pic都是null啊,res返回的是一个图片所在的网址 [/quote] 你调试 确定 URL 是正确的调用了你controller里面的方法么? ajax 给的 路劲不要写相对的 如路上那样就好 或者 var url = '@Url.Action("GetImg","AMSBasicInfo")';
moonwrite 2013-06-28
  • 打赏
  • 举报
回复
var url = "../../AMSBasicInfo/GetImg"; 不要使用相对的~ var url = "/AMSBasicInfo/GetImg"; <img src="/AMSBasicInfo/GetImg"/>看能不能显式出来 /// <summary> /// 生成验证码 /// </summary> /// <returns></returns> public FileContentResult CreateImage() { string s = (new Random()).Next(1000, 9999).ToString(); SessionHelper.ValidateCode = s; byte[] bytes = DrawingHelper.DrawString(s, 22, 12); Response.Clear(); //Response.ContentType = "image/Gif"; Response.Buffer = false; Response.ExpiresAbsolute = System.DateTime.Now.AddYears(-10); Response.Expires = 0; Response.CacheControl = "no-cache"; return File(bytes, "image/JPEG"); }
x_jefferson 2013-06-28
  • 打赏
  • 举报
回复
mark一下,看着很有用啊
a102470 2013-06-28
  • 打赏
  • 举报
回复
自己在顶一顶
a102470 2013-06-27
  • 打赏
  • 举报
回复
引用 3 楼 Chinajiyong 的回复:
直接用js把生成的图片路径赋给img的src属性
$.post(url, tt, function (res) { var pic = document.getElementById("picture"); pic.src = res; }); <img id="picture" src="" />老大,我这样写,为何获得的pic都是null啊,res返回的是一个图片所在的网址
EnForGrass 2013-06-27
  • 打赏
  • 举报
回复
直接用js把生成的图片路径赋给img的src属性
persuit666 2013-06-27
  • 打赏
  • 举报
回复
function get(){ var url = "../../AMSBasicInfo/GetImg"; var tt = { "chl":123, "size": 4 }; $.post(url, tt}) } //多了个右大括号
a102470 2013-06-27
  • 打赏
  • 举报
回复
自己顶一下拉拉

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧