我尝试在输入标签上使用ng-model和类型文件:
<input type="file" ng-model="vm.uploadme" />
Run Code Online (Sandbox Code Playgroud)
但是在选择文件后,在控制器中,$ scope.vm.uploadme仍未定义.
如何在控制器中获取所选文件?
有没有机会检测用户为input类型file元素的HTML所做的每个文件选择?
之前曾多次询问此问题,但onchange如果用户再次选择同一文件,则通常建议的事件不会触发.
嗨我想知道在使用angularjs上传它们之前是否有预览图像的方法?我正在使用这个库.https://github.com/danialfarid/angular-file-upload
谢谢.这是我的代码:
template.html
<div ng-controller="picUploadCtr">
<form>
<input type="text" ng-model="myModelObj">
<input type="file" ng-file-select="onFileSelect($files)" >
<input type="file" ng-file-select="onFileSelect($files)" multiple>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
controller.js
.controller('picUploadCtr', function($scope, $http,$location, userSettingsService) {
$scope.onFileSelect = function($files) {
//$files: an array of files selected, each file has name, size, and type.
for (var i = 0; i < $files.length; i++) {
var $file = $files[i];
$http.uploadFile({
url: 'server/upload/url', //upload.php script, node.js route, or servlet uplaod url)
data: {myObj: $scope.myModelObj},
file: $file
}).then(function(data, status, headers, config) {
// file …Run Code Online (Sandbox Code Playgroud) 我想用AngularJS获取一个文件:
HTML:
<div ng-controller="TopMenuCtrl">
<button class="btn" ng-click="isCollapsed = !isCollapsed">Toggle collapse</button>
<input type="file" ng-model="filepick" ng-change="pickimg()" multiple />
<output id="list"></output>
</div>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
angular.module('plunker', ['ui.bootstrap']);
function TopMenuCtrl($scope) {
$scope.pickimg = function() {
alert('a');
};
}
Run Code Online (Sandbox Code Playgroud)
如何onchange在AngularJS pickimg函数上绑定输入文件操作?我怎样才能操纵上传后的文件?
我正在尝试upload()在文件输入更改时运行我的函数.但是,我无法使其发挥作用.
HTML:
<input type="file" ng-model="image" ng-change="uploadImage()">
Run Code Online (Sandbox Code Playgroud)
JS:
$scope.uploadImage = function() {
console.log('Changed');
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我正在尝试使用输入[type = file]显示用户选择的文件列表.
HTML
<div ng-app="myApp">
<div ng-controller="UploadFilesCtrl">
<input type="file" onchange="angular.element(this).scope().uploadFiles(this)" multiple />
<ul>
<li ng-repeat="name in filenames">
{{name}}
</li>
</ul>
<button ng-click="test()">PRINT</button>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS
app = angular.module('myApp');
app.controller('UploadFilesCtrl', ['$scope', function($scope){
$scope.uploadFiles = function(element){
var files = element.files;
var filenames=[];
for (i=0; i<files.length; i++){
filenames.push(files[i].name);
}
$scope.files = files;
$scope.filenames = filenames;
console.log(files, filenames);
};
$scope.test = function(){
console.log($scope.files, $scope.filenames);
}
}]);
Run Code Online (Sandbox Code Playgroud)
由于某种原因,列表永远不会更新.
在filenames与files变量中$scope从来没有得到过的之外更新uploadFiles功能(当我点击选择文件后,打印按钮,我得到未定义).
有任何想法吗?
谢谢!
我有一个文件输入
<input type="file" ng-change="action()">
现在在我的控制器中我不想做选择器和东西.所以我才有
$scope.action = () ->
...
Run Code Online (Sandbox Code Playgroud)
但是,我想要一个特定的行为,只要用户选择一个文件调用$ scope.action,而不是onchange是否有角度的onselect事件?
我正在使用控制器作为语法.
当我的文件输入改变时,我想触发一个功能.
怎么做?
下面是我的代码与$ scope语法
<input class="upload" type="file" accept="image/*" ng-model="image"
onchange="angular.element(this).scope().uploadImage(this)">
Run Code Online (Sandbox Code Playgroud) angularjs ×7
javascript ×4
ajax ×1
dom-events ×1
file ×1
file-upload ×1
fileapi ×1
forms ×1
html ×1
onchange ×1
upload ×1