asp.net网站发布后,上传文件时,而会出现路径在服务器中查找的问题,怎样解决?
2个回答
展开全部
在ASP.NET中。当一个网站发布出去后,你在另一台机器上访问,利用文件上传控件上传一个文件时,网站会在你服务器电脑中找你上传的文件路径。就会出现找不到文件的错误。你们有遇到过吗? 请教!
补充: 我的截图上就可以看出来啊!服务器上肯定不存在啊。我是想怎么解决啊。 我网站发布到服务器,是在另台机器上访问,上传文件,网站代码却不是从我的机器上查找。而是从服务器上查找路径。怎样做到从我的机器上查找呢? 求哪段代码能够从本地查找 补充: 我是用的绝对路径!就算是用相对路径的话。也要把文件上传到服务器的工程目录下啊? 补充: 把文件上传到服务器时,还是要找路径。还是会去从服务器找吧? 那还是找不到啊! 补充: 想在本地用个FileUpload浏览的路径
string fullFileName = this.File1.PostedFile.FileName;//上传的东西的路径
int position = fullFileName.LastIndexOf('\\');
string fileName = fullFileName.Substring(position + 1);//改上传东西的名字避免重复
this.File1.PostedFile.SaveAs(uploadPath + DateTime.Now.Millisecond + fileName);//上传 补充: 这就是相对路径,在message前加个~/不就行了, 补充: 你不是上传吗,怎么有delete,? 追问: 具体的说下吧!我是数据导出到EXCEL表格 ,我用微软上传控件得到路径,然后 把数据保存到EXCEL表格中去。找路径时在服务器找所以会出现路径找不到。(由于微软上传控件必须选择一个文件路径才能上传。所以就选择个文件在删除这个文件)。然后在通过 connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + ";Extended Properties=Excel 5.0;"; 新建Excel文件,把数据库数据导出到Excel表格 回答: 哦 有创意,呵呵,不会导出asp,winform里用过不过的要导各个dll文件,呵呵很麻烦的。 追问: 顺便问你句啊。 工程目录怎么获得。 回答: server。path()。这个就获得了,很容易把 追问: 你这个能吗?server都没有这个方法啊? mapPath() 好像也不行列! 回答: 但是就是mappath,能吧,获得工程的路径,你输出一下,我以前就是那么用的 其他回答(2)ID无法显示5级2009-06-02你确定你那个路径在服务器上存在?使用绝对路径 补充: 那你使用System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath就行了 补充: 服务器访问的是服务器的路径,你想在本地用个FileUpload浏览的路径就行了?肯定是不行的啊。
2步工作必须做,上传到服务器对应路径,读取服务器对应路径文件。 补充: 不是肯定不行吗?是一定不行,你服务器都有随便访问客户端的权限了,那么客户端还存在什么安全可言。 补充: try{if (!fileuploadExcel.HasFile){return;}if (fileuploadExcel.PostedFile.ContentType != "application/vnd.ms-excel"){Response.Write("<script>alert('文件类型应该为Excel!')</script>");return;}fileuploadExcel.SaveAs(服务器文件路径);
if (!File.Exists(服务器文件路径)){Response.Write("<script>alert('导入文件不存在!')</script>");return;}if (导入的方法){Response.Write("<script>alert('导入成功!')</script>");
File.Delete(服务器文件路径);}elseECommon.Alert(this, "导入失败!");}catch{ECommon.Alert(this, "导入失败!");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询