jQuery + ashx 实现图片按比例预览、异步上传及显示
关键点:
jquery.ajax 方法 和 FileReader对象ashx 处理程序asp.net 的 ScriptManager.RegisterStartupScript 调用客户端js脚本一、ASP.NET 前台源码:
/// <summary> /// 此函数范围内只有第一个用 ScriptManager.RegisterStartupScript 注册的脚本才有效 /// </summary> protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 首次加载的处理方法 if (this.Request.Params["lid"] != null) { // 照片处理,从数据获取过程省略...... object imgObj = row["Photo"]; string base64 = "data:image/jpeg;base64,"; if (imgObj != System.DBNull.Value) { byte[] buffer = (byte[])imgObj; base64 += Convert.ToBase64String(buffer); this.hf_base64.Value = base64; // js脚本 load_obj_base64 是用来在客户端渲染图片的 string script = "$('#lz_caption strong').text('修改楼长信息');" +"load_obj_base64($('#photo_lz').parent().next().children('img'),'"+ base64 + "')"; ScriptManager.RegisterStartupScript(this, this.GetType(), "",script, true); } }