我使用自定义引导程序,链接:http://jasny.github.io/bootstrap/javascript.html#fileupload我有一个按钮来上传文件。 这个文件是JSON,我想在我的Controller上读取它。我怎样才能做到这一点?使用文件参数的方法,并使用Json Parser读取此文件。
答案 0 :(得分:3)
只需创建表单并创建如下所示的操作:
using System.Web.Script.Serialization;
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
if (file.ContentLength > 0)
{
// get contents to string
string str = (new StreamReader(file.InputStream)).ReadToEnd();
// deserializes string into object
JavaScriptSerializer jss = new JavaScriptSerializer();
var d = jss.Deserialize<dynamic>(str);
// once it's an object, you can use do with it whatever you want
}
}
答案 1 :(得分:2)
查看JSON解析器。如果你到这里(http://theburningmonk.com/benchmarks/)并向下滚动到JSON Serializers,你会看到一个流行的serizalizers及其表现的列表。
根据您对JSON的需求,您可以反序列化为dyanmic,并且很容易只使用.
运算符访问对象的成员。您的另一个选择是使用http://json2csharp.com/生成与JSON布局匹配的类文件,并允许您反序列化为精确对象。
至于上传部分,我建议你看看这里:File Upload ASP.NET MVC 3.0