dwa4821 2016-07-01 05:41 采纳率: 71.4%
浏览 2170
已采纳

Server.MapPath获取文件绝对路径

获取到的路径是网站的路径,而不是文件的路径。

顺便问一下,我用weblint上传文件,前端是<input type=file 如何将前端选定文件的绝对路径传道一般处理程序

            string title = context.Request.Form["title"];
            HttpPostedFile upFile = HttpContext.Current.Request.Files["upLoad"];

            //提供用于将数据发送到和接收来自通过 URI 确认的资源数据的常用方法
                WebClient client = new WebClient();

                       //分配10000000字节给mbyte
                byte[] mbyte = new byte[1000000];
                //数组长度
                int allmybyte = (int)mbyte.Length;
                int startmbyte = 0;
//上传文件地址
                string URLAddress =System.Web.HttpContext.Current.Server.MapPath("/"+upFile.FileName);
                //上传文件存放位置
                string receivePath = context.Server.MapPath("~/");
                //从上传地址创建一个可读流
                Stream str = client.OpenRead(URLAddress);
                //实例化以特定编码读取文件的读取器
                StreamReader reader = new StreamReader(str);


                while (allmybyte > 0)
                {
                    //m:读入缓冲区的总字节数
                    //从当前流的startmbyte位置,欲读取allmybyte字节,放入byte数组
                    int m = str.Read(mbyte, startmbyte, allmybyte);
                    if (m == 0)
                        break;
                    //读取起始位置加m
                    startmbyte += m;
                    //要读取的字节数减少m
                    allmybyte -= m;
                }
                //释放流读取器资源
                reader.Dispose();
                //释放流资源
                str.Dispose();
                //文件上传下来存放的路径
                string path = receivePath + System.IO.Path.GetFileName(URLAddress);
                //实例化文件操作类。设置文件的路径,打开方式,读写权限
                FileStream fstr = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
                //往文件流里写入字节
                fstr.Write(mbyte, 0, startmbyte);
                //清除此流的缓冲区,使得所有缓冲的数据都写入到文件中
                fstr.Flush();
                //关闭当前流并释放与之关联的所有资源
                fstr.Close(); 
  • 写回答

1条回答 默认 最新

  • devmiao 2016-07-01 06:50
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 VB.NET如何绘制倾斜的椭圆