• 图片上传插件用法,JS语法【三】


    注意点:

    作为文件域(<input type="file">)必须要有name属性,如果没有name属性,上传之后服务器是获取不到图片的。如:正确的写法是<input type="file" id="file1" name="file1" />

    dataType参数一定要大写。如:dataType: 'HTML'

    一.html

    <body>
        <p><input type="file" id="file1" name="file" /></p>
        <input type="button" value="上传" />
        <p><img id="img1" alt="上传成功啦" src="" /></p>
    </body>

    二.js

      <script src="jquery-1.7.1.js" type="text/javascript"></script>
        <script src="ajaxfileupload.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function () {
                $(":button").click(function () {
                    ajaxFileUpload();
                })
            })
            function ajaxFileUpload() {
                $.ajaxFileUpload
                (
                    {
                        url: '/upload.aspx', //用于文件上传的服务器端请求地址
                        secureuri: false, //是否需要安全协议,一般设置为false
                        fileElementId: 'file1', //文件上传域的ID
                        dataType: 'json', //返回值类型 一般设置为json
                        success: function (data, status)  //服务器成功响应处理函数
                        {
                            $("#img1").attr("src", data.imgurl);
                            if (typeof (data.error) != 'undefined') {
                                if (data.error != '') {
                                    alert(data.error);
                                } else {
                                    alert(data.msg);
                                }
                            }
                        },
                        error: function (data, status, e)//服务器响应失败处理函数
                        {
                            alert(e);
                        }
                    }
                )
                return false;
            }
        </script>

    三.后台

     protected void Page_Load(object sender, EventArgs e)
            {
                HttpFileCollection files = Request.Files;
                string msg = string.Empty;
                string error = string.Empty;
                string imgurl;
                if (files.Count > 0)
                {
                    files[0].SaveAs(Server.MapPath("/") + System.IO.Path.GetFileName(files[0].FileName));
                    msg = " 成功! 文件大小为:" + files[0].ContentLength;
                    imgurl = "/" + files[0].FileName;
                    string res = "{ error:'" + error + "', msg:'" + msg + "',imgurl:'" + imgurl + "'}";
                    Response.Write(res);
                    Response.End();
                }
            }

    四.JS前台页面判断文件内容大小

     function change() {
            $('.imgupload').off("change");   //先关闭一次change
            $('.imgupload').on("change", "#filePicture", function () {
                var bool = testMaxSize(this.files[0]);   //调用方法
                if (bool) {
                    $("#zt").text("移入可预览文件");
                    var files = window.URL.createObjectURL(this.files[0]);
                    $('.laye_img').attr("src", files);
                } else {
                    alert("图片大小超过限制,请上传小于1M体积!");
                    $("#zt").text("选择上传图片");
                    $('.laye_img').attr("src", "");
                }
                imgfloat()//调用
            })
        }
      //判断图片大小
        function testMaxSize(file) {
            if (file) {
                var fileData = file;
                var size = fileData.size;   //注意,这里读到的是字节数
                maxSize = 1048576;   //转化为字节
                if (size <= maxSize) {
                    return true;
                } else {
                    return false;
    
                }
            }
        }
      
  • 相关阅读:
    Nginx+uWsgi+Django+Python+MongoDB+mySQL服务器搭建
    MongoDB的副本集Replica Set
    Google论文之一Bigtable学习翻译
    python类的成员和装饰器
    nginx代码分析进程和模块初始化
    MongoDB的分片Sharding
    MongoDB的分片和副本集部署
    安装sql server 2008 r2
    Hello, World!
    vs2010仿Myeclipse open file 功能插件
  • 原文地址:https://www.cnblogs.com/h5monkey/p/6121469.html
Copyright © 2020-2023  润新知