使用StreamReader时文件打开错误

时间:2013-06-13 22:31:27

标签: c# jquery asp.net-mvc

我正在尝试打开使用文件控件选择的csv文件。

<input type="file" id="fileStoreRoster" style="width:400px;" />

在我的控制器中我有这个;

public ActionResult Ajax_ImportRoster(string fileName)

我有一些jQuery代码应该将文件发布到控制器;

var fileName = $("#fileTimeWindows").val();
$.ajax({
    url: appDomain + '/Maintenance/Ajax_ImportWindows',
    type: "POST",
    data: { fileName: fileName }
});

但是当我打开文件时出现错误

  

无法找到路径的一部分

当我尝试访问用户计算机上的文件时,这只发生在服务器上。

2 个答案:

答案 0 :(得分:0)

该文件已上传..它不会以string发送,而是HttpPostedFile

public ActionResult Ajax_ImportRoster(HttpPostedFileBase fileStoreRoster) {
    // fileStoreRoster.InputStream is a stream to the file
}

此外,请记住您的表单上需要multipart/form-data才能使文件上传工作。

我是否正确理解您的问题?您的个人资料似乎假设您已经知道我刚刚说过的话......

答案 1 :(得分:0)

html在客户端计算机上呈现,因此引用的文件仅存在于那里。如果您希望使用服务器上的文件,则必须先将其上传(发布)到服务器。

通过在输入字段中添加表单来执行此操作,如果您还没有表单,请将该表单提交给采用System.WebHttpPostedFileBase参数的操作方法,将其命名为name属性输入字段。该参数可以访问上传文件的流。