如何创建文件对象Javascript/angularjs

如何创建文件对象Javascript/angularjs,javascript,angularjs,asp.net-mvc,c#-4.0,file-upload,Javascript,Angularjs,Asp.net Mvc,C# 4.0,File Upload,要求1。在我的项目中,一个页面需要用户上传一个文档,这是通过使用angular指令(第三方)完成的。当用户点击提交按钮时,将在ASP.NET MVC控制器(Request.Files)中访问发布的文件。此文件最终保存在Web服务器上 要求2。用户还可以编辑要显示所有上传文档的表单。在这里,用户可以添加/删除文档,也可以查看上载的文档 通过使用角度指令成功地实现了要求1 浏览并选择文件时,angular指令将创建JavaScript文件对象。因此,我认为要实现需求2,我还应该以编程方式创建Java

要求1。在我的项目中,一个页面需要用户上传一个文档,这是通过使用angular指令(第三方)完成的。当用户点击提交按钮时,将在ASP.NET MVC控制器(Request.Files)中访问发布的文件。此文件最终保存在Web服务器上

要求2。用户还可以编辑要显示所有上传文档的表单。在这里,用户可以添加/删除文档,也可以查看上载的文档

通过使用角度指令成功地实现了要求1

浏览并选择文件时,angular指令将创建JavaScript文件对象。因此,我认为要实现需求2,我还应该以编程方式创建JavaScript文件对象数组,以满足angular指令的要求

因此,当页面以编辑模式打开时,我在ASP.NET MVC控制器中创建一个JSON对象,并将其传递给angular控制器,在该控制器中我尝试创建JavaScript文件对象数组,然后将其传递给angular指令

文件对象数组的创建如下所示:

$scope.files = [];
var uploadedFiles = [{fileContent:a byte array, fileName:'doc1.txt'}]; //this comes from the Web Server
$scope.files.push(new File(uploadedFiles[0].fileContent , "filename.txt", {type: "text/plain", lastModified: date}));
上面的代码没有抛出任何错误,但当我单击文件名时,它会将字节数组作为字符串而不是原始文件内容下载


请建议如何实现同样的效果。

我还尝试用JSON对象(但不是JavaScript文件对象)填充文件数组,当用户单击链接时,它会调用一个控制器操作,将流写入响应对象。它起作用了。但当我尝试上载另一个文档时,upload指令只考虑新上载的文档,并丢弃以前上载的文档,因为它不是JavaScript文件对象。我还尝试使用JSON对象(但不是JavaScript文件对象)填充文件数组,当用户单击链接时,它调用将流写入响应对象的控制器操作。它起作用了。但是当我尝试上载另一个文档时,upload指令只考虑新上载的文档,并丢弃以前上载的文档,因为它不是JavaScript文件对象。