读书人

网站发布到IIS后能上传文件到服务器

发布时间: 2012-02-04 15:43:08 作者: rapoo

网站发布到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)

读书人网 >.NET

热点推荐