Asp.net mvc ASP.NET MVC中的简单上传/下载表单
我刚开始学习ASP.NET MVC,但希望进一步探索。我已经浏览了常见的“hello,world”示例,现在我想尝试一些更复杂的内容。具体而言,我希望能够:Asp.net mvc ASP.NET MVC中的简单上传/下载表单,asp.net-mvc,xml,file,Asp.net Mvc,Xml,File,我刚开始学习ASP.NET MVC,但希望进一步探索。我已经浏览了常见的“hello,world”示例,现在我想尝试一些更复杂的内容。具体而言,我希望能够: 上传一些XML文件 对它做一些简单的处理,然后 允许用户下载带有处理结果的新文件 在本例中,我想做的处理是一件微不足道的事情,它证明了我确实得到了XML文件并对其进行了检查。例如,计算元素的数量就足够了。完成处理后,我希望将结果作为一个新文件流式传输给用户(例如,一个只包含“There was 398elements”一句的文本文件),
- 上传一些XML文件
- 对它做一些简单的处理,然后
- 允许用户下载带有处理结果的新文件
元素的数量就足够了。完成处理后,我希望将结果作为一个新文件流式传输给用户(例如,一个只包含“There was 398
elements”一句的文本文件),以便他们的浏览器启动下载
什么是一种好的通用方法?要进行上传,您需要有一个文件输入和一个使用enctype多部分/表单数据的表单。在服务器上,您可以从与输入的标记名匹配的Request.Files集合元素获得一个HttpPostedFileBase对象。然后访问文件对象上的流并读取它 一旦有了数据,就可以执行转换——这里是读取特定标记的计数。然后,您希望从您的操作返回一个FileResult。由于它实际上只是一个字符串,我建议将其写入MemoryStream,然后倒带该字符串并从中创建FileResult
<% using (Html.BeginForm("Upload","Controller",FormMethod.Post, new { enctype = "multipart/form-data"))
{ %>
<label for="uploadFile">File:</label>
<input type="file" name="uploadFile" id="uploadFile" />
<input type="submit" value="Upload" />
<% } %>
要进行上传,您需要有一个文件输入和一个使用enctype多部分/表单数据的表单。在服务器上,您可以从与输入的标记名匹配的Request.Files集合元素获得一个HttpPostedFileBase对象。然后访问文件对象上的流并读取它 一旦有了数据,就可以执行转换——这里是读取特定标记的计数。然后,您希望从您的操作返回一个FileResult。由于它实际上只是一个字符串,我建议将其写入MemoryStream,然后倒带该字符串并从中创建FileResult
<% using (Html.BeginForm("Upload","Controller",FormMethod.Post, new { enctype = "multipart/form-data"))
{ %>
<label for="uploadFile">File:</label>
<input type="file" name="uploadFile" id="uploadFile" />
<input type="submit" value="Upload" />
<% } %>
这太棒了!我一吃完午饭就要试试这个。谢谢你的帮助。这太棒了!我一吃完午饭就要试试这个。谢谢你的帮助。