当前位置:编程学习 > C#/ASP.NET >>

xheditor 上传图片时,IE有问题,火狐却可以,求高人救助啊

IE浏览器上传时提示:

上传接口发生错误,返回的错误内容为:   //什么都没有

但是在火狐下却正常上传。按理说,它上传时,都把值传递到了接收文件,属于后台文件,怎么还存在兼容性的问题?求高手解答了。


--------------------编程问答--------------------  xheditor怎么没什么人用吗? --------------------编程问答-------------------- 上传 --------------------编程问答--------------------

不知道你怎么写的,关于图片处理,我们是这样处理的,将这个Handler.ashx文件代码放在xheditor的目录下,代码中主要是将上传的图片保存在xheditor文件下的images文件夹下:
<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;

public class Handler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ClearHeaders();
        context.Response.Clear();
        context.Response.Expires = 0;
        context.Response.ClearContent();
        Data d = new Data();

        try
        {
            if (context.Request.Files.Count > 0)
            {
                System.Web.HttpPostedFile file = context.Request.Files[0];
                string filename = file.FileName;
                string[] ss = filename.Split('\\');
                filename = ss[ss.Length - 1];
                string path = context.Server.MapPath("images\\" + filename);
                d.msg = "../xheditor/images/" + filename;
                file.SaveAs(path);
            }
            else
            {
                d.err = "没有选择需要上传的文件";
            }
        }
        catch (Exception e)
        {
            d.err = e.Message;
        }

        // using System.Web.Script.Serialization;
        // JavaScriptSerializer serializer = new JavaScriptSerializer();
        // context.Response.Write(serializer.Serialize(d));

        string sds = "{\"err\":\"" + d.err + "\",\"msg\":\"" + d.msg + "\"}";
        context.Response.Write(sds);
        context.Response.Flush();
        context.Response.End();
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}

public class Data
{
    private string _err;
    private string _msg;
    public string err
    {
        get
        {
            if (_err == null)
                return string.Empty;
            return _err;
        }
        set
        {
            _err = value;
        }
    }
    public string msg
    {
        get
        {
            if (_msg == null)
                return string.Empty;
            return _msg;
        }
        set
        {
            _msg = value;
        }
    }
}
--------------------编程问答-------------------- 这个东西我也遇到了同样的问题,最后解决的方法是一定要将路径写对,根据你的开发环境写目录写到根试一试。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,