精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
近期开发基于ASP.NET的OA管理系统,使用asp:FileUpload实现文件的上传,遇到“上传错误 不支持给定路径的格式”问题,并且发生错误的场合比较奇怪,这里开源下处理心得:
首先,Debug下不出问题,发布后出。我在我机器上用VS的Debug模式进行测试,在网页上点击控件进行上传没有问题。编译发布后,把发布压缩包发给客户,客户使用不行,还认为是客户机器和操作系统不兼容造成的,后来排除了此问题。
和团队里朋友交流下,尝试把分隔符修改下,换成反斜杠,把/换成\,问题解决。
最终代码如下:
string filePath = "c:\\workplan\\"; //获取文件完整路径if (Directory.Exists(filePath) == false)//如果不存在就创建file文件夹
{
Directory.CreateDirectory(filePath);
}
string virpath = filePath + this.file_upload.FileName;//这是存到服务器上的虚拟路径
file_upload.PostedFile.SaveAs(virpath);//保存
经验教训:Debug模式的代码测试并不能代表成功,必须要在发布状态下测试才可以。路径里分隔符比较重要,要想解决编程问题,要有丰富的基础知识,比如操作系统和文件子系统方面。