服务端 如何 获取 客户端上传文件的路径 急啊!!!!

时间:2021-07-13 13:06:20
我用WebClient.UploadFileAsync() 这个方法调用服务端的upload页面

 WebClient.UploadFileAsync(new Uri(serverpath + "upload.aspx"), "POST", filepath);

在服务端 实现上传功能  

   foreach (string f in Request.Files.AllKeys)
            {
                HttpPostedFile file = Request.Files[f];
                file.SaveAs(System.AppDomain.CurrentDomain.BaseDirectory + @"/upgrade/" + file.FileName);
            }

现在是把所有文件都下载到upgrade个文件夹下了 ,

问题 

我现在想在upgrade下边创建相应的文件夹 filepath是客户端上传路径 

我想知道 在服务端的upload页面 如何能获取 filepath文件路径!!

12 个解决方案

#1


自己顶一个    别沉啊!!

#2


再顶一次  坐等大神!!!!

#3


继续顶。。。。顶顶顶

#4


服务端 如何 获取 客户端上传文件的路径 急啊!!!!我也顶一个。

#5


http://www.cnblogs.com/wenbo/archive/2011/08/09/2132620.html     服务端 如何 获取 客户端上传文件的路径 急啊!!!!

#6


每上传一个文件之前先把该文件的路径也上传上去
new WebClient().UploadString("Url", "Path");
 别用异步

#7


引用 6 楼 vb763305825 的回复:
每上传一个文件之前先把该文件的路径也上传上去
new WebClient().UploadString("Url", "Path");
 别用异步


没有别的办法么  

在用异步的情况下  实现不了 是么?

#8


顶一下  顶一下

#9


用异步也不是不可以,但你这个必须要保证A路径对于着A文件,用异步的话,很可能会弄乱,把A文件存到B路径上面去了

WebClient中每种Upload异步调用的方法都有对应着一个Compeleted事件,上传完成后会抛出这个事件,你上传完了路径之后,在这个事件里面去上传对于的文件

                WebClient MyWebClint = new WebClient();
                MyWebClint.UploadStringAsync(new Uri(""), "Path");
                MyWebClint.UploadStringCompleted += delegate(object sender, UploadStringCompletedEventArgs e)
                {
                    MyWebClint.UploadFile(new Uri(""), "FileName");
                };


要么你就这样试试,不过还是尽量别用异步吧

#10


引用 9 楼 vb763305825 的回复:
用异步也不是不可以,但你这个必须要保证A路径对于着A文件,用异步的话,很可能会弄乱,把A文件存到B路径上面去了

WebClient中每种Upload异步调用的方法都有对应着一个Compeleted事件,上传完成后会抛出这个事件,你上传完了路径之后,在这个事件里面去上传对于的文件

                WebClient MyWebClint = new WebClient();
                MyWebClint.UploadStringAsync(new Uri(""), "Path");
                MyWebClint.UploadStringCompleted += delegate(object sender, UploadStringCompletedEventArgs e)
                {
                    MyWebClint.UploadFile(new Uri(""), "FileName");
                };


要么你就这样试试,不过还是尽量别用异步吧


关键是同步升级速度太慢啊

我想到个办法 你看看可以不?

WebClient.UploadFileAsync(new Uri(serverpath + "upload.aspx?path=123455"), "POST", filepath);

就是在打开这个upload.aspx页面的时候 穿个地址参数 在客户端把地址取出来 然后传过去

在服务端页面就可以 string path = Request.QueryString["path"].ToString(); 这样取得路径了

然后 创建相对应的文件夹


#11


应该没问题,只要你路径和文件是同一轮上传到服务器的就可以保证路径与文件的一致了;
你先试试

#12


引用 11 楼 vb763305825 的回复:
应该没问题,只要你路径和文件是同一轮上传到服务器的就可以保证路径与文件的一致了;
你先试试



恩 好的 我先试一下  晚一点结贴

#1


自己顶一个    别沉啊!!

#2


再顶一次  坐等大神!!!!

#3


继续顶。。。。顶顶顶

#4


服务端 如何 获取 客户端上传文件的路径 急啊!!!!我也顶一个。

#5


http://www.cnblogs.com/wenbo/archive/2011/08/09/2132620.html     服务端 如何 获取 客户端上传文件的路径 急啊!!!!

#6


每上传一个文件之前先把该文件的路径也上传上去
new WebClient().UploadString("Url", "Path");
 别用异步

#7


引用 6 楼 vb763305825 的回复:
每上传一个文件之前先把该文件的路径也上传上去
new WebClient().UploadString("Url", "Path");
 别用异步


没有别的办法么  

在用异步的情况下  实现不了 是么?

#8


顶一下  顶一下

#9


用异步也不是不可以,但你这个必须要保证A路径对于着A文件,用异步的话,很可能会弄乱,把A文件存到B路径上面去了

WebClient中每种Upload异步调用的方法都有对应着一个Compeleted事件,上传完成后会抛出这个事件,你上传完了路径之后,在这个事件里面去上传对于的文件

                WebClient MyWebClint = new WebClient();
                MyWebClint.UploadStringAsync(new Uri(""), "Path");
                MyWebClint.UploadStringCompleted += delegate(object sender, UploadStringCompletedEventArgs e)
                {
                    MyWebClint.UploadFile(new Uri(""), "FileName");
                };


要么你就这样试试,不过还是尽量别用异步吧

#10


引用 9 楼 vb763305825 的回复:
用异步也不是不可以,但你这个必须要保证A路径对于着A文件,用异步的话,很可能会弄乱,把A文件存到B路径上面去了

WebClient中每种Upload异步调用的方法都有对应着一个Compeleted事件,上传完成后会抛出这个事件,你上传完了路径之后,在这个事件里面去上传对于的文件

                WebClient MyWebClint = new WebClient();
                MyWebClint.UploadStringAsync(new Uri(""), "Path");
                MyWebClint.UploadStringCompleted += delegate(object sender, UploadStringCompletedEventArgs e)
                {
                    MyWebClint.UploadFile(new Uri(""), "FileName");
                };


要么你就这样试试,不过还是尽量别用异步吧


关键是同步升级速度太慢啊

我想到个办法 你看看可以不?

WebClient.UploadFileAsync(new Uri(serverpath + "upload.aspx?path=123455"), "POST", filepath);

就是在打开这个upload.aspx页面的时候 穿个地址参数 在客户端把地址取出来 然后传过去

在服务端页面就可以 string path = Request.QueryString["path"].ToString(); 这样取得路径了

然后 创建相对应的文件夹


#11


应该没问题,只要你路径和文件是同一轮上传到服务器的就可以保证路径与文件的一致了;
你先试试

#12


引用 11 楼 vb763305825 的回复:
应该没问题,只要你路径和文件是同一轮上传到服务器的就可以保证路径与文件的一致了;
你先试试



恩 好的 我先试一下  晚一点结贴