我们如何用angularJS上传文件
在angularJS中有没有直接上传文件的方法。 我对angularJS完全陌生。尝试在谷歌上搜索,但找不到关于此的任何基本示例。我们需要安装任何库/.js文件吗我们如何用angularJS上传文件,angularjs,jquery-file-upload,Angularjs,Jquery File Upload,在angularJS中有没有直接上传文件的方法。 我对angularJS完全陌生。尝试在谷歌上搜索,但找不到关于此的任何基本示例。我们需要安装任何库/.js文件吗 <!DOCTYPE html> <html ng-app xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> <
<!DOCTYPE html>
<html ng-app xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<h5>Upload</h5>
<!--<div class="span12">-->
<div class="span4">
<div class="fileupload fileupload-new" data-provides="fileupload">
<div class="input-append">
<div class="uneditable-input span3">
<i class="icon-file fileupload-exists"></i>
<span class="fileupload-preview" ng-model="userType"></span>
</div>
<span class="btn btn-file">
<span class="fileupload-new">Select file</span>
<span class="fileupload-exists">Change</span>
<!--<input type="file" name="file" />-->
<input type="file" ng-model="upFile" onchange="angular.element(this).scope().setFileEventListener(this)" />
</span>
<a href="#" class="btn fileupload-exists" data-dismiss="fileupload">Remove</a>
</div>
</div>
</div>
<div class="span2" >
<button type="submit" value="Send" id="btnStartUpload" class="btn start" ng-click="uploadFile()" ng-disabled="!upload_button_state">
<i class="icon-upload"></i>
<span>Upload File</span>
</button>
</div>
<script>
$scope.setFileEventListener = function (element) {
$scope.uploadedFile = element.files[0];
if ($scope.uploadedFile) {
$scope.$apply(function () {
$scope.upload_button_state = true;
});
}
}
$scope.uploadFile = function () {
uploadFile();
};
function uploadFile() {
if (!$scope.uploadedFile) {
return;
}
ajax_post.uploadFile_init($scope.uploadedFile)
.then(function (result) {
if (result.status == 200) {
$scope.storeDB_button_state = true;
clientInfo.imagePath = "/uploadsfolder/" + $scope.uploadedFile.name;
}
}, function (error) {
alert(error.message);
});
}
</script>
</body>
</html>
上传
选择文件
改变
上载文件
$scope.setFileEventListener=函数(元素){
$scope.uploadedFile=element.files[0];
if($scope.uploadedFile){
$scope.$apply(函数(){
$scope.upload_button_state=true;
});
}
}
$scope.uploadFile=函数(){
上传文件();
};
函数uploadFile(){
if(!$scope.uploadedFile){
返回;
}
ajax\u post.uploadFile\u init($scope.uploadedFile)
.然后(函数(结果){
如果(result.status==200){
$scope.storeDB_button_state=true;
clientInfo.imagePath=“/uploadsfolder/”+$scope.uploadedFile.name;
}
},函数(错误){
警报(错误消息);
});
}
下面是一段代码片段,它可以使用
引导文件上载(引导v2.3.1-j6)
HTML
<h5>Upload</h5>
<!--<div class="span12">-->
<div class="span4">
<div class="fileupload fileupload-new" data-provides="fileupload">
<div class="input-append">
<div class="uneditable-input span3">
<i class="icon-file fileupload-exists"></i>
<span class="fileupload-preview" ng-model="userType"></span>
</div>
<span class="btn btn-file">
<span class="fileupload-new">Select file</span>
<span class="fileupload-exists">Change</span>
<!--<input type="file" name="file" />-->
<input type="file" ng-model="upFile" onchange="angular.element(this).scope().setFileEventListener(this)" />
</span>
<a href="#" class="btn fileupload-exists" data-dismiss="fileupload">Remove</a>
</div>
</div>
</div>
<div class="span2" >
<button type="submit" value="Send" id="btnStartUpload" class="btn start" ng-click="uploadFile()" ng-disabled="!upload_button_state">
<i class="icon-upload"></i>
<span>Upload File</span>
</button>
</div>
这里我们使用服务ajax\u post
并调用方法:uploadFile\u init
:
工厂
app.factory('ajax_post', ['$http', function(_http) {
return {
uploadFile_init: function(uploadedFile) {
var fd = new FormData();
fd.append("uploadedFile", uploadedFile);
var upload_promise = _http.post('somePath',
fd, {
headers: {
'Content-Type': undefined
},
transformRequest: angular.identity
});
return upload_promise;
}
}
}
]);
希望对您有所帮助这里是一段代码,可以使用 引导文件上载(引导v2.3.1-j6) HTML
<h5>Upload</h5>
<!--<div class="span12">-->
<div class="span4">
<div class="fileupload fileupload-new" data-provides="fileupload">
<div class="input-append">
<div class="uneditable-input span3">
<i class="icon-file fileupload-exists"></i>
<span class="fileupload-preview" ng-model="userType"></span>
</div>
<span class="btn btn-file">
<span class="fileupload-new">Select file</span>
<span class="fileupload-exists">Change</span>
<!--<input type="file" name="file" />-->
<input type="file" ng-model="upFile" onchange="angular.element(this).scope().setFileEventListener(this)" />
</span>
<a href="#" class="btn fileupload-exists" data-dismiss="fileupload">Remove</a>
</div>
</div>
</div>
<div class="span2" >
<button type="submit" value="Send" id="btnStartUpload" class="btn start" ng-click="uploadFile()" ng-disabled="!upload_button_state">
<i class="icon-upload"></i>
<span>Upload File</span>
</button>
</div>
这里我们使用服务ajax\u post
并调用方法:uploadFile\u init
:
工厂
app.factory('ajax_post', ['$http', function(_http) {
return {
uploadFile_init: function(uploadedFile) {
var fd = new FormData();
fd.append("uploadedFile", uploadedFile);
var upload_promise = _http.post('somePath',
fd, {
headers: {
'Content-Type': undefined
},
transformRequest: angular.identity
});
return upload_promise;
}
}
}
]);
希望对您有所帮助这里是一段代码,可以使用 引导文件上载(引导v2.3.1-j6) HTML
<h5>Upload</h5>
<!--<div class="span12">-->
<div class="span4">
<div class="fileupload fileupload-new" data-provides="fileupload">
<div class="input-append">
<div class="uneditable-input span3">
<i class="icon-file fileupload-exists"></i>
<span class="fileupload-preview" ng-model="userType"></span>
</div>
<span class="btn btn-file">
<span class="fileupload-new">Select file</span>
<span class="fileupload-exists">Change</span>
<!--<input type="file" name="file" />-->
<input type="file" ng-model="upFile" onchange="angular.element(this).scope().setFileEventListener(this)" />
</span>
<a href="#" class="btn fileupload-exists" data-dismiss="fileupload">Remove</a>
</div>
</div>
</div>
<div class="span2" >
<button type="submit" value="Send" id="btnStartUpload" class="btn start" ng-click="uploadFile()" ng-disabled="!upload_button_state">
<i class="icon-upload"></i>
<span>Upload File</span>
</button>
</div>
这里我们使用服务ajax\u post
并调用方法:uploadFile\u init
:
工厂
app.factory('ajax_post', ['$http', function(_http) {
return {
uploadFile_init: function(uploadedFile) {
var fd = new FormData();
fd.append("uploadedFile", uploadedFile);
var upload_promise = _http.post('somePath',
fd, {
headers: {
'Content-Type': undefined
},
transformRequest: angular.identity
});
return upload_promise;
}
}
}
]);
希望对您有所帮助这里是一段代码,可以使用 引导文件上载(引导v2.3.1-j6) HTML
<h5>Upload</h5>
<!--<div class="span12">-->
<div class="span4">
<div class="fileupload fileupload-new" data-provides="fileupload">
<div class="input-append">
<div class="uneditable-input span3">
<i class="icon-file fileupload-exists"></i>
<span class="fileupload-preview" ng-model="userType"></span>
</div>
<span class="btn btn-file">
<span class="fileupload-new">Select file</span>
<span class="fileupload-exists">Change</span>
<!--<input type="file" name="file" />-->
<input type="file" ng-model="upFile" onchange="angular.element(this).scope().setFileEventListener(this)" />
</span>
<a href="#" class="btn fileupload-exists" data-dismiss="fileupload">Remove</a>
</div>
</div>
</div>
<div class="span2" >
<button type="submit" value="Send" id="btnStartUpload" class="btn start" ng-click="uploadFile()" ng-disabled="!upload_button_state">
<i class="icon-upload"></i>
<span>Upload File</span>
</button>
</div>
这里我们使用服务ajax\u post
并调用方法:uploadFile\u init
:
工厂
app.factory('ajax_post', ['$http', function(_http) {
return {
uploadFile_init: function(uploadedFile) {
var fd = new FormData();
fd.append("uploadedFile", uploadedFile);
var upload_promise = _http.post('somePath',
fd, {
headers: {
'Content-Type': undefined
},
transformRequest: angular.identity
});
return upload_promise;
}
}
}
]);
希望这会有所帮助非常感谢您的帮助…我几乎完成了…但无法理解应用程序工厂的事情(我是新手)。我刚刚在Visualstudio 2012中创建了一个HTML页面,并在该页面中添加了您的HTML和js代码。我可能做错了。请在此过程中帮助我。当我单击“上载文件”按钮时,什么都没有发生。我是否需要添加任何jquery/js引用。我将附加我的HTML文件/项目文件欢迎来到Angularjs world!我无法描述angualr是如何工作的,这超出了问题的范围,但你可以看看这个演示工厂是如何工作的:将我的代码添加到问题中。请检查它。在开始时将ng app添加到html标记。阅读angular js所需的部分。非常感谢你的帮助…我几乎完成了…但无法理解应用工厂的事情(我是新来的)。我刚刚在Visualstudio 2012中创建了一个HTML页面,并在该页面中添加了您的HTML和js代码。我可能做错了。请在此过程中帮助我。当我单击“上载文件”按钮时,什么都没有发生。我是否需要添加任何jquery/js引用。我将附加我的HTML文件/项目文件欢迎来到Angularjs world!我无法描述angualr的工作方式,它的out来自问题范围,但你可以看看这个演示工厂是如何工作的:将我的代码添加到问题中。请检查它。在开始时将ng app添加到html标记。在angular js需要的地方阅读一些内容。非常感谢你的帮助…我几乎完成了…但无法理解应用工厂的事情(我是新手)。我刚刚在Visualstudio 2012中创建了一个HTML页面,并在该页面中添加了您的HTML和js代码。我可能做错了。请在此过程中帮助我。当我单击“上载文件”按钮时,什么都没有发生。我是否需要添加任何jquery/js引用。我将附加我的HTML文件/项目文件欢迎来到Angularjs world!我无法描述angualr的工作方式,它的out来自问题范围,但你可以看看这个演示工厂是如何工作的:将我的代码添加到问题中。请检查它。在开始时将ng app添加到html标记。在angular js需要的地方阅读一些内容。非常感谢你的帮助…我几乎完成了…但无法理解应用工厂的事情(我是新手)。我刚刚在Visualstudio 2012中创建了一个HTML页面,并在该页面中添加了您的HTML和js代码。我可能做错了。请在此过程中帮助我。当我单击“上载文件”按钮时,什么都没有发生。我是否需要添加任何jquery/js引用。我将附加我的HTML文件/项目文件欢迎来到Angularjs world!我无法描述angualr的工作方式,它的out来自问题范围,但您可以在此演示中了解factory的工作原理:将我的代码添加到问题中。请检查。在开始处将ng app添加到html标记。阅读angular js所需的部分。