zoukankan      html  css  js  c++  java
  • Html使用Iframe无刷新上传文件,后台接收

    html代码:我是发送请求到teacher_center.aspx,不是到.ashx一般处理程序里,需要加 runat="server",有空我再试试发送请求到 .ashx 里

    <input type="file" class="upload" id="fu_book_img" name="fu_book_img" runat="server" onchange="SelectBookImg()"  />上传图片

    <iframe id='frameFile' name='frameFile' style='display: none;'></iframe>

    <input type="hidden" id="hidden_select_img" />

    <img src="" height="76" width="141" alt="" id="books_img" />

    js脚本:

    function SelectBookImg(e) {
    var fname = '<%=DateTime.Now.ToString("yyyyMMddHHmmss")%>' + getRandom(999);
    var oldSelect = $("#hidden_select_img").val();//上一次选择的图片

    $("#form1").attr("action", "teacher_center.aspx?op=upload&fname=" + fname + "&oldSelect=" + oldSelect);
    $("#form1").attr("target", "frameFile");//隐藏的iframe,为了实现无刷新,参考我的另一篇文章
    $("#form1").submit();
    $("#form1").removeAttr("target");
    }

    function SetImg(imgUrl) {
    $("#books_img").attr("src", imgUrl);
    $("#hidden_select_img").val(imgUrl);
    }

    .NET代码

    HttpPostedFile fu = Request.Files["fu_book_img"];//Name属性
    if (!string.IsNullOrEmpty(fu.FileName))
    {
    string ext = Path.GetExtension(fu.FileName).ToLower();
    if (CommonHelper.ImgPattern.Contains(ext))//判断图片格式是否正确
    {
    //验证文件的大小,fu.ContentLength是文件字节长度
    if (fu.ContentLength > (CommonHelper.HeadImgSize / 2))
    {
    JScript.Show(this, "你上传的文件不能大于1M,请重新上传!");
    }
    else
    {
    string path = Server.MapPath("~/UploadFile/BookImg/temp/") + fname + ext;
    fu.SaveAs(path);

    //删除上一次选择的文件

    string oldPath = Server.MapPath("~" + oldSelect);
    if (File.Exists(oldPath))
    {
    File.Delete(oldPath);
    }

    //将选择的图片加载到页面中的 img中,需要用 window.parent,因为我们指定的是  iframe 代提交
    Response.Write("<script>window.parent.SetImg('/UploadFile/BookImg/temp/" + fname + ext + "');</script>");
    Response.End();
    }
    }
    else
    {
    JScript.Show(this, "图片格式不正确");
    }
    }
    else
    {
    JScript.Show(this, "请选择图片");
    }

  • 相关阅读:
    手写排序
    cookie与session的区别
    索引有几种
    mysql优化怎么做?
    laravel Builder scope count() 出错 Eloquent/Builder.php 1185行
    鹏业软件喷淋的喷头改为上喷
    鹏业安装算量复制工程量
    鹏业软件安装算量计算规则,喷淋识别、以及保温设置的问题解决
    鹏业安装算量喷淋管件修改问题解答
    鹏业软件CAD云服务转图纸没反应的说明
  • 原文地址:https://www.cnblogs.com/xsj1989/p/4756822.html
Copyright © 2011-2022 走看看