请教各位大侠,小弟最近在做图片上传出现一个问题。用户在网站www.xxxx.com上上传图片到img.xxxx.com中(也就是图片服务器)。 上传的图片失真太严重。不知道有没有好的方法上传到图片服务器。并且图片不失真的。请求帮忙。比较急。byte[] bt = UpLoadFile.imageToByteArray(imgpath);//这个是把图片转换为字节数组 然后通过webservice上传的。public string UploadFile(byte[] fs, string ext, string path)
    {
        string returnpath = path;
        Random rand = new Random();
        //产生随机数
        int randNum = rand.Next(1000);        string filename = DateTime.Now.ToString("yyyyMMddHHmmss") + randNum;
        //string proImgPath = "../images/logo/";                //存放品牌图标的图片        string toDayPath = GetFolder(path);
        if (File.Exists(HttpContext.Current.Server.MapPath(toDayPath + filename + ext)))
        {
            randNum = rand.Next(1000);
            filename = DateTime.Now.ToString("yyyyMMddHHmmss") + randNum;
        }
        path = HttpContext.Current.Server.MapPath(toDayPath);
        try
        {
            if (!System.IO.Directory.Exists(path))
                System.IO.Directory.CreateDirectory(path);
            ///定义并实例化一个内存流,以存放提交上来的字节数组。
            MemoryStream m = new MemoryStream(fs);
            ///定义实际文件对象,保存上载的文件。
            FileStream f = new FileStream(path + "\\" + filename + ext, FileMode.Create);
            ///把内内存里的数据写入物理文件
            m.WriteTo(f);
            m.Close();
            f.Close();
            f = null;
            m = null;
            returnpath = toDayPath + filename + ext;
            return returnpath;
        }
        catch
        {
            return "";
        }
    }上传图片图片上传失真asp.net图片

解决方案 »

  1.   

    失真是个什么意思?
    图片质量下降了?
    你看看img的服务器上保存的图片和你要上传的图片大小一样吗?
    不行你另存下来本地打开看看是否真正的失真。估计你的情况是前台显示的图片高宽和后台上传图片的高宽不一样,导致拉伸或者缩放导致的吧。
      

  2.   

    图片有锯齿状 并且模糊。上传都img服务器的也是如此。真不到该怎么弄了。
      

  3.   

    C#文件上传是绝对不更改文件自身内容的,你上传100M文件,服务器也是100M。所以,你说的,只能表明,你在上传的同时,又作了处理。你要查找除了你的上传代码,看看是否还有其它的定时器会扫描作压缩。