网站发布到IIS后,能上传文件到服务器上,但不能读到上传的文件的路劲?
我做了一个上传Excel 并保存到数据库的网站。
在本地调试一切正常。
当我把网站挂在IIS上的时候 ,出了一个很大的问题。
就是 用户能把Excel正常的上传到服务器上。
这个代码我是这样写的
//设置用户上传Excel到服务器上的文件夹路径
path = Server.MapPath("~/content/Excel/") + Guid.NewGuid().ToString() + ".xls";
//保存Excel
this.UploadExcel.PostedFile.SaveAs(path);
然后 这段代码能正常的保存用户上传的Excel到服务器上
然后 我用一个方法
//把Excel转换成Dataset
//参数为用户保存的Excel在服务器上的路劲
GetExcelDataSet(string path)
然后 我用刚刚 保存用户上传Excel到服务器上的文件夹路径 做为这个方法的参数。也就是
path = Server.MapPath("~/content/Excel/") + Guid.NewGuid().ToString() + ".xls"; 这个路劲
然后问题出现了
这个写法 我在本地用100%没有问题
但是挂在IIS上
GetExcelDataSet(string path) 这个方法 始终得不到 path 这个路劲
这个是为什么呢?
问题已经很明确 是得到的路劲的问题
但是应该怎么解决呢?
------解决方案--------------------
------解决方案--------------------
Guid.NewGuid().ToString() 每次得到的值是不一样的。
要用一个变量存起来
string strGUID = Guid.NewGuid().ToString();
path = Server.MapPath("~/content/Excel/") + strGUID + ".xls";
this.UploadExcel.PostedFile.SaveAs(path);
读取的时候不要再用Guid.NewGuid().ToString() ,因为没调用一次都是一个新的GUID。
这个时候用之前保存起来的strGUID 变量拿到之前的值。
path = Server.MapPath("~/content/Excel/") +strGUID + ".xls";
GetExcelDataSet(path)