首页 新闻 会员 周边

伪Ajax方式上传

0
悬赏园豆:5 [待解决问题]

怎么点击上传都没效果,求高手解答

Default.aspx前台:

<script src="jquery-1.7.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $('#fileUp').change(function () {
                $('#uploadLog').html('开始上传中...');
                $('#formFile')[0].submit();
            });
        });
        function uploadSuccess(msg) {
            if (msg.split('|').length > 1) {
                $('#imgShow').attr('src', msg.split('|')[1]);
                $('#uploadLog').html(msg.split('|')[0]);
            } else {
                $('#uploadLog').html(msg); 
            }
        }
    </script>
</head>
<body>
    <form id="formFile" runat="server" method="post" name="formFile" action="uploads.aspx" target='frameFile' enctype="multipart/form-data">
    <input type="file" name="fileUp" id="fileUp" />
    <div id="uploadLog">
    </div>
    <br />
    <img width='200' src='' height='200' id='imgShow' alt='缩略图' />
    </form>
    <iframe id='frameFile' name='frameFile' style='display: none;'></iframe>
</body>

Upload.aspx后台:

protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                //获取当前Post过来的file集合对象,在这里我只获取了<input type='file' name='fileUp'/>的文件控件    
                HttpPostedFile file = Request.Files["fileUp"];
                if (file != null)
                {
                    //当前文件上传的目录
                    string path = Server.MapPath("/test/");
                    string imgUrl = path + Path.GetFileName(file.FileName);
                    //当前文件后缀名
                    string ext = Path.GetExtension(file.FileName).ToLower();
                    //验证文件类型是否正确
                    if (!ext.Equals(".gif") && !ext.Equals(".jpg") && !ext.Equals(".png") && !ext.Equals(".bmp"))
                    {
                        //这里window.parent.uploadSuccess()是我在前端页面中写好的javascript function,此方法主要用于输出异常和上传成功后的图片地址
                        Response.Write("<script>window.parent.uploadSuccess('你上传的文件格式不正确!上传格式有(.gif、.jpg、.png、.bmp)');</script>");
                        Response.End();
                    }
                    //验证文件的大小
                    if (file.ContentLength > 1048576)
                    {
                        //这里window.parent.uploadSuccess()是我在前端页面中写好的javascript function,此方法主要用于输出异常和上传成功后的图片地址
                        Response.Write("<script>window.parent.uploadSuccess('你上传的文件不能大于1048576KB!请重新上传!');</script>");
                        Response.End();
                    }
                    //开始上传
                    file.SaveAs(imgUrl);
                    //如果成功返回的数据是需要返回两个字符串,我在这里使用了|分隔  例: 成功信息|/Test/hello.jpg
                    Response.Write("<script>window.parent.uploadSuccess('Upload Success!|/Test/" + file.FileName + "');</script>");
                    Response.End();
                }
                else
                {
                    //上传失败
                    Response.Write("Upload lose!");
                    Response.End();
                }

            }
            catch
            {
                Response.Write("Upload lose!");
                Response.End();
            }
        }
D-Z-K的主页 D-Z-K | 初学一级 | 园豆:181
提问于:2013-10-03 20:10
< >
分享
所有回答(3)
0

提交时出现什么错误?

dudu | 园豆:31007 (高人七级) | 2013-10-04 10:40

没报错,不过$('#formFile')[0].submit();好像不提交. action="uploads.aspx"不执行Uploads.aspx页面

支持(0) 反对(0) D-Z-K | 园豆:181 (初学一级) | 2013-10-04 21:58
0

$('#fileUp').change(function () {

//先确定这个事件是否被触发,可以alert一下看看。

});

然后就是js文件的引入。这个需要引入微软的一个js文件。

最后分析是不是$('#formFile')[0].submit();这句的问题。

ExploreForward | 园豆:18 (初学一级) | 2013-10-06 10:24
0

用断点工具分析一下 或者firebug

Mundo Novo | 园豆:69 (初学一级) | 2013-10-06 14:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册