这里是我的HTML表格。
<form name="myForm" ng-submit="">
<input ng-model='file' type="file"/>
<input type="submit" value='Submit'/>
</form>
我想从本地机器上传一张图片,并想读取上传文件的内容。所有这些我都想用AngularJS来完成。
当我试图打印$scope.file
的值时,它显示为未定义。
这里的一些答案建议使用FormData()
,但不幸的是,这是一个浏览器对象,在Internet Explorer 9及以下版本中无法使用。如果你需要支持这些旧的浏览器,你将需要一个备份策略,如使用<iframe>
或Flash。
已经有许多Angular.js模块来执行文件上传。 这两个模块对旧的浏览器有明确的支持。
还有一些其他选项。
其中一个应该适合你的项目,或者可能给你一些关于如何自己编码的见解。
以下是文件上传的工作实例。
在这个例子中,有一个函数叫做
setFiles
从视图开始,它将更新控制器中的文件阵列
或
你可以查看使用AngularJS的jQuery文件上传