HTML如下:
<input type="file" style="display: none" ng-file-select="" ng-file-change="upload($files)" ng-multiple="multiple" accept=".jpg,.png">
我需要使用ng-file-upload将文件上传到使用Protractor上传图像文件的元素:
var uploadFile = element(by.css('input[type="file"]'));
uploadFile.sendKeys('C:\\Temp\\test.png');
uploadFile.evaluate("openMetadataDialog({file:imgFile})");
然而,上述情况并不奏效。我无法理解如何上传文件! 根据我的理解,只要我将keys发送到input元素,就应该自己调用upload函数!但是,这似乎并没有发生!
的问候,
Sakshi
答案 0 :(得分:2)
似乎ng-file-upload对.sendKeys(...)
没有反应,其文件更改不会被调用。您可以使用标准onchange
事件来调用某些自定义上载逻辑:
<input type="file"
style="display: none"
onchange="angular.element(this).scope().upload(this)"
ng-file-select
ng-multiple="multiple"
accept=".jpg,.png">
此指向具有文件属性的input元素。