我在MVC项目中使用文件上传控件。
<input type="file" name="file" id="Ids2" style="float:right"/>
当我尝试在数据库中保存文件(TestDocument.txt)时出现以下错误。让我说我点击上传按钮然后浏览到位置 - “c:\ TestDocument.txt” - 并尝试上传它,我收到此错误..
找不到文件'C:\ Program Files(x86)\ Common Files \ Microsoft Shared \ DevServer \ 10.0 \ TestDocument.txt'。
编辑:(我从输入类型“文件”值传递文件名)
session.Advanced.DatabaseCommands.PutAttachment(id,null,
File.ReadAllBytes(@fileName), optionalMetaData);
即使我从C:\ location中选择文本文件,它总是在上面的“C:\ Program Files(x86)\ Co .....”位置查找该文件。如何从原始位置获取文件。谢谢你的帮助。
答案 0 :(得分:1)
您不能只将文件的文件名传递给服务器,并希望使用该文件路径打开文件。传递的路径位于客户端本地计算机上,但您尝试在服务器上打开该文件。
您需要一个表单元素将实际文件内容发布到服务器。
Phil Haack有一篇很好的文章,里面有关于如何使用MVC上传文件的信息。
http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx