获取上传多个文件的路径

时间:2017-08-02 07:57:00

标签: javascript

我有一个文件上传按钮,我想获取所选文件的路径 这是我的代码:

begin
    execute immediate 'alter table MATABLE modify (MADATA null)';
exception
    when others then
        null;
end;
var pniotApp = angular.module('pniotApp', []);
pniotApp.controller('pniotCtrl', function ($scope, $http, $location) { 
    var temp = [];
    Array.prototype.push.apply(temp, element.files);
    for (i = 0; i < temp.length;i++)
        $scope.fileBuffer.push(temp[i])
    }
});
注意:我正在使用'temp',因为element.files的行为与普通数组不同。

如何获取文件的相对路径?
我试着这样做

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body dir="rtl" ng-app="pniotApp" ng-controller="pniotCtrl">
  <input id="uploadFile" type="file" class="filestyle" data-classButton="btn btn-primary"  multiple        data-input="false"  data-classIcon="icon-plus"    onchange="angular.element(this).scope().fileSelected(this)" data-buttonText="uplaod...">
 
</body>

但我只得到了第一个文件的路径 我该怎么办?

1 个答案:

答案 0 :(得分:0)

You can't access the path for security reasons但是由于您对单个条目.value感到满意,我将假设您指的是文件 name

文件输入将具有files属性,其中包含所选文件的列表(您可以像数组一样循环它)。每个对象都有一个name属性,可以为您提供文件名。

document.querySelector("input").addEventListener("change", list_files);

function list_files() {
  var files = this.files;
  for (var i = 0; i < files.length; i++) {
    console.log(files[i].name);
  }
}
<input type="file" multiple>