• android 开发上传图片遇到返回 FileNotFoundException


    目的:带有参数上传图片

    环境:客户端开发 android studio  ,服务器端:visual studio 2012 (c# asp.net)

    ************************************************************************

    上传图片的时候遇到返回FileNotFoundException,但是一直在客户端报错

    HttpURLConnection中connection.getInputStream()报错误FileNotFoundException

    java.io.FileNotFoundException: http://192.168.11.6/appHandler/UploadHandler.ashx  (一直以为是找不到这个文件)

    所以也一直在查找客户端的错误,换来换去,还是没有解决,都快疯掉了,放了一段时间,今天又重新来补充这一块的开发,慢慢调试,才发现如果在服务器端只接受参数,不处理图片与文件这一块,则会正常返回服务器消息,这才知道是服务器端出现问题了,下面把出问题的代码贴出来:

    public string UploadVoiceFile(HttpContext context)
        {
            string FileName, FilePath;
            HttpPostedFile ItemImageFile = context.Request.Files["Filedata"];
            FileName = ItemImageFile.FileName.Substring(ItemImageFile.FileName.LastIndexOf("."));
            //FileName = Guid.NewGuid().ToString().Substring(24) + DateTime.Now.ToShortDateString().Replace("/", "_") + file.FileName.Substring(file.FileName.LastIndexOf("."));
            string FilePathStr = "/upload/voice/" + DateTime.Now.ToShortDateString().Replace("/", "") + "/";
            FilePath = HttpContext.Current.Server.MapPath(@FilePathStr);
            if (ItemImageFile != null)
            {
                //如果没有该目录则创建该上传目录
                if (!Directory.Exists(FilePath))  //这一块就出现问题
                {
                    Directory.CreateDirectory(FilePath);
                }
                if (ItemImageFile.ContentLength > 2097152)  // 图片大小不能超过2M
                {
                    return "{"result": "-1","msg":"图片大小不能超过2M!"}";
                }
                ItemImageFile.SaveAs(FilePath + FileName);
                return "{"result": "1","msg":"" + FilePathStr + FileName + ""}";
            }
            return "{"result": "-1","msg":"文件数据为空!"}";
        }


    是创建不了目录,也不能正常保存文件,所以抛出FileNotFoundException,也就传回到客户端了,以为是找不到文件:http://192.168.11.6/appHandler/UploadHandler.ashx

    网上也有朋友遇到过,说是重新建了一个工程就OK了,我这里通过服务器本地调试也是可以的,所以原因出现在 IIS文件权限这一块

    找到要上传的文件目录,右键->安全 -》 添加 -> Everyone 用户,权限:完全控制  ,搞定!

    汗颜啊,这一个小小的问题浪费了几天的开发时间,写在这里留作以后笔记,也供大家参考!

  • 相关阅读:
    无监督聚类K-means算法
    Python程序执行顺序
    修改jupyter notebook响应的浏览器
    Vijos1035 贪婪的送礼者 [map的应用]
    POJ 2976 Dropping tests [二分]
    POJ 3111 K Best 最大化平均值 [二分]
    HDU 2899 Strange fuction [二分]
    HDU 2141 can you find it [二分]
    HDU 4004 The Frog's Games [二分]
    HDU 1969 Pie [二分]
  • 原文地址:https://www.cnblogs.com/feijian/p/4113112.html
Copyright © 2020-2023  润新知