关于angularjs input上传图片前获取图片的Size 浅析

首先我们需要一个指令来追踪input的change。ngChage不适用input[file]。

app.directive("fileread", [function () {
return {
scope: {
selectedFile: "=",
changed: ‘&‘
},
link: function(scope, element, attributes) {
element.bind("change", function(changeEvent) {
scope.$apply(function() {
scope.selectedFile = changeEvent.target.files[0];
// or all selected files:
// scope.fileread = changeEvent.target.files;
console.log(‘file selected.‘);
if (scope.changed()) {
scope.changed()(scope.selectedFile);
}
});
});
}
};
}]);

然后在controller里定义file的变量跟change绑定的function。

$scope.showFileSelectBox = function () {
$("#imgSelectInput").click();
};

$scope.imageSelected = function(file) {
var image;

if (file) {

image = new Image();

image.onload = function () {

$scope.editObj.Width = this.width;
$scope.editObj.Height = this.height;
};

image.src = $window.URL.createObjectURL(file);

}
};

然后是html

<button type="button"  ng-click="showFileSelectBox()">上传</button>
<input type="file" style="display: none"
accept="image/*" fileread selectedfile="selectedImgFile"
id="imgSelectInput" changed="imageSelected" />

时间: 2024-11-07 11:49:04

关于angularjs input上传图片前获取图片的Size 浅析的相关文章

上传图片前浏览图片

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus

elementUI上传图片前判断图片的尺寸大小

在上传图片前判断尺寸的大小,遇到了好多的坑. 1.没有注意到onload是异步加载,所以一定要在onload后在执行判断图片尺寸 2.upload内部需要一个promise,简单的return出false并没有什么用 3.完整代码: beforeAvatarUpload(file) { const isSize = new Promise(function(resolve, reject) { let width = 100; let height = 100; let _URL = windo

在onload事件前获取图片的宽高

有时候在获取从后台的图片时,要对图片进行一系列的处理,才渲染出来 我们要解决的是没有缓存而又快速的相比onload更快的方式去获取图片的宽高,接下来上代码 通过定时循环检测获取: // 记录当前时间戳 var start_time = new Date().getTime() // 图片地址 后面加时间戳是为了避免缓存 var cutSrc = window.ctx + '/touchsys/terminal/showCapture?terminalId=' + terminalId + '×t

.Net 上传图片之前获取图片的宽高

Stream st = Request.Files[0].InputStream;                  Byte[] buffer = new Byte[st.Length];                st.Read(buffer, 0, buffer.Length);                MemoryStream stream = new MemoryStream(buffer);                   Bitmap img = new Bitmap

Django_上传图片和模版获取图片

需求: 在Django中,上传图片,存入数据库中的文件的路径,而不是图片本身,也就是说,图片等数据静态文件都可以放到第三方服务器上,我想在把图片保存到Django本地项目中,并可以通过Django自带的server,让模版可以取到图片 那,如何解决? 1. setting中配置图片上传和模版获取图片的根地址 # 配置图片上传和服务器传输图片的根地址 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 2. 如何ur

从相册获取图片及调用相机拍照获取图片,最后上传图片到服务器

调用相机拍照获取图片: 跳转到到拍照界面: Intent takeIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //下面这句指定调用相机拍照后的照片存储的路径 mSzImageFileName = Long.toString(System.currentTimeMillis()) + ".png"; takeIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new F

Android中使用OKHttp上传图片,从相机和相册中获取图片并剪切

效果: 注意:1:网络权限<uses-permission android:name="android.permission.INTERNET"></uses-permission>2:我封装了一个OKHttp,需要在build.gradle 中加入compile 'com.squareup.okhttp3:logging-interceptor:3.4.2' 在同步一在3:用SharedPreferences 保存和获取图片了,将图片和字符串进行了转换4: 可

Android选择/拍照 剪裁 base64/16进制/byte上传图片+PHP接收图片

转载请注明出处:http://blog.csdn.net/iwanghang/article/details/65633129觉得博文有用,请点赞,请评论,请关注,谢谢!~ 老规矩,先上GIF动态图,看个效果,如果符合你的项目或者确定你要了解的内容,再往下看吧: 完整项目下载地址:http://download.csdn.net/detail/iwanghang/9792768 贴代码: 1.PHP: <?php namespace app\index\controller; class Upl

前端获取图片压缩后上传给后台

 此前有同事跟我聊过关于移动端用canvas压缩图片后再上传的功能,最近有了点空闲时间,所以就实践了一下.demo效果链接在文章底部贴出. 在做移动端图片上传的时候,用户传的都是手机本地图片,而本地图片一般都相对比较大,拿iphone6来说,平时拍很多图片都是一两M的,如果直接这样上传,那图片就太大了,如果用户用的是移动流量,完全把图片上传显然不是一个好办法. 目前来说,HTML5的各种新API都在移动端的webkit上得到了较好的 实现.根据查看caniuse,本demo里使用到的FileRe