简易上传图片原生input-file实现方案
2017-12-04 10:27
447 查看
html:
<div class="addImages">
<span class="addImagesText">添加图片({{allImgBaseData.length}}/5)</span>
<div class="addImagesSample" ng-repeat="item in allImgBaseData track by $index">
<span>
<img ng-src='{{item}}'>
<i class='icon ion-close-circled removeImg' ng-click='removeImg($index)'></i>
</span>
</div>
<label class="addImagesButton" for="inputs" ng-if="allImgBaseData.length!=5">
<i class="icon ion-ios-plus-empty"></i>
<input accept="image/*" type="file" accept=".gif,.jpg,.jpeg,.png" onchange="angular.element(this).scope().fileChange(this)">
</label>
</div>
js:
//上传图片
$scope.allImgBaseData = [];
//所有图片的base码集合
$scope.fileChange = function(fil){
var filtext = fil.files[0];
if(parseInt(filtext.size) / 1024 > 1024){
$hctopalert.show({
text: "仅可以上传1M以内的图片"
});
return false;
};
if($scope.allImgBaseData.length>=5){
$hctopalert.show({
text: "图片已达到上限"
});
return false;
};
var reader = new FileReader();
reader.readAsDataURL(filtext);
reader.onload = function() {
var strcode = reader.result;
$scope.allImgBaseData.push(strcode);
//储存到数组里
$scope.$apply();
}
};
//选出图片可删除功能
$scope.removeImg = function(index){
$scope.allImgBaseData.splice(index,1);
};
<div class="addImages">
<span class="addImagesText">添加图片({{allImgBaseData.length}}/5)</span>
<div class="addImagesSample" ng-repeat="item in allImgBaseData track by $index">
<span>
<img ng-src='{{item}}'>
<i class='icon ion-close-circled removeImg' ng-click='removeImg($index)'></i>
</span>
</div>
<label class="addImagesButton" for="inputs" ng-if="allImgBaseData.length!=5">
<i class="icon ion-ios-plus-empty"></i>
<input accept="image/*" type="file" accept=".gif,.jpg,.jpeg,.png" onchange="angular.element(this).scope().fileChange(this)">
</label>
</div>
js:
//上传图片
$scope.allImgBaseData = [];
//所有图片的base码集合
$scope.fileChange = function(fil){
var filtext = fil.files[0];
if(parseInt(filtext.size) / 1024 > 1024){
$hctopalert.show({
text: "仅可以上传1M以内的图片"
});
return false;
};
if($scope.allImgBaseData.length>=5){
$hctopalert.show({
text: "图片已达到上限"
});
return false;
};
var reader = new FileReader();
reader.readAsDataURL(filtext);
reader.onload = function() {
var strcode = reader.result;
$scope.allImgBaseData.push(strcode);
//储存到数组里
$scope.$apply();
}
};
//选出图片可删除功能
$scope.removeImg = function(index){
$scope.allImgBaseData.splice(index,1);
};
相关文章推荐
- 上传图片预览JS脚本 Input file图片预览的实现示例
- 原生javascript FileReader对象实现图片上传本地预览效果
- 上传图片预览JS脚本 Input file图片预览的实现示例
- 利用原生的 file input上传 图片
- 将input file 上传组件替换成一张图片的简易方式
- 上传图片预览JS脚本 Input file图片预览的实现示例
- input type='file'上传图片限制大小,类型判断,以及原生js实现上传至后端前实现图片显
- javascript实现input file上传图片预览效果
- 简单获取input file 选中的图片,并在一个div的img里面赋值src实现预览图片(可实现多张图片上传和预览移除)
- AngularJS用原生的fileinput上传图片
- 一段上传图片预览JS脚本,Input file图片预览的实现
- 上传图片预览JS脚本 Input file图片预览的实现示例
- input标签上传图片到后端前用H5的FileReader 方法实现图片的显示
- javascript实现input file上传图片预览效果
- 上传图片时,Input file图片预览的实现
- input file 实现上传预览图片,以base64上传,兼容IE8+,firefox,chrome
- 上传图片预览JS脚本 Input file图片预览的实现示例
- 使用bootstrap图片上传插件(fileInput)springmvc实现图片上传全流程
- input file实现多张图片上传
- 原生js FileReader对象实现图片上传本地预览效果