作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法使用angularJS获取输入字段中所选文件的名称、路径和大小,在上传之前?
<input type="file" ng-model="fileContent" on-read-file="showContent($fileContent)" />
$scope.showContent = function($fileContent){
$scope.content = $fileContent;
};
谁能帮忙解决这个问题?
最佳答案
HTML5 文件 API 将为您尝试上传的每个文件提供一个 File
对象。此 File
对象将具有 size
和 name
属性,它们将为您提供以字节为单位的文件大小和文件名。
不过,用户计算机上的文件的物理路径没有属性。
您可以在 MDN 上阅读更多相关信息:https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications
关于 File
对象的更多信息:https://developer.mozilla.org/en-US/docs/Web/API/File
这是一个工作示例:http://jsfiddle.net/fmeLz9cd/
给定类型为 file
且 ID 为 fileSelected
的输入,以下是通过文件 API 访问属性的示例:
$('#fileSelected').on('change', function (evt) {
var files = $(evt.currentTarget).get(0).files;
if(files.length > 0) {
$('#fileName').text(files[0].name);
$('#fileSize').text(files[0].size);
$('#filePath').text($('#fileSelected').val());
}
});
更新
由于您请求的是 AngularJS 特定示例,下面是在 Angular 应用程序中运行的相同代码:
http://jsfiddle.net/vyc6jq84/1/
<div ng-app="fileDemo">
<input type="file" fd-input />
</div>
var app = angular.module('fileDemo', []);
app.directive('fdInput', [function () {
return {
link: function (scope, element, attrs) {
element.on('change', function (evt) {
var files = evt.target.files;
console.log(files[0].name);
console.log(files[0].size);
});
}
}
}]);
关于angularjs - 使用angularjs获取所选文件的来源和名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27227788/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!