vue上传图片并压缩后以formData形式传给后台

vue上传图片

html

<div id="file">
   <input class="inputtt" type="file" @change="upfile($event)" accept="image/*" />
</div>

js

//上传图片
upfile(event) {
var file = event.target.files[0]
var name = event.target.files[0].name;
lrz(file).then(rst => { //压缩图片
file = rst.file;
let file = new window.File([file], name, {
type: file.type
}) //把blob转化成file
let formData = new FormData();
formData.append(‘file‘, file);
formData.append(‘fileType‘, ‘IMAGE‘)
this.axios({
url: ‘API‘,
method: ‘post‘,
headers: {
‘content-type‘: ‘application/x-www-form-urlencoded‘,
"token": token //token换成从缓存获取
},
data: formData
}).then(res => {

if(res.data.code == 200) {

}
})
});
},

原文地址:https://www.cnblogs.com/cai001018/p/cc.html

时间: 2024-10-29 13:23:36

vue上传图片并压缩后以formData形式传给后台的相关文章

javascript 设置input框只读属性 获取disabled后的值并传给后台

input只读属性 有两种方式可以实现input的只读效果:disabled 和 readonly. 自然两种出来的效果都是只能读取不能编辑,可是两者有很大不同. Disabled说明该input无效,及其value不会传递给任何程序,比如asp.php等.Readonly仅仅是无法编辑,不影响其值的传递. Disabled使用:<INPUT type="text" name="username" value="james"disabled

移动端图片上传解决方案localResizeIMG先压缩后ajax无刷新上传

现在科技太发达,移动设备像素越来越高,随便一张照片2M+,但是要做移动端图片上传和pc上略有不同,移动端你不能去限制图片大小,让用户先处理图片再上传,这样不现实.所以理解的解决方案就是在上传先进行图片压缩,然后再把压缩后的图片上传到服务器. 一翻google之后,发现了localResizeIMG,它会对图片进行压缩成你指定宽度及质量度并转换成base64图片格式,那么我们就可以把这个base64通过ajax传到后台,再进行保存,先压缩后上传的目的就达到了. 处理过程 LocalResizeIM

动端图片上传解决方案localResizeIMG先压缩后ajax无刷新上传

现在科技太发达,移动设备像素越来越高,随便一张照片2M+,但是要做移动端图片上传和pc上略有不同,移动端你不能去限制图片大小,让用户先处理图片再上传,这样不现实.所以理解的解决方案就是在上传先进行图片压缩,然后再把压缩后的图片上传到服务器. 一翻google之后,发现了localResizeIMG,它会对图片进行压缩成你指定宽度及质量度并转换成base64图片格式,那么我们就可以把这个base64通过ajax传到后台,再进行保存,先压缩后上传的目的就达到了. 处理过程 LocalResizeIM

Vue上传图片压缩的问题

上传图片太大,需要前台进行图片压缩 上传图片大于100* 1024 的用canvas 来压缩来解决 然后IOS拍照上传会有图片旋转的问题,然后用了github 上的exif.js很好的插件,项目里面npm install exif-js --save 安装, 然后import一下就可以使用了 html <div class="operate"> <span class="btn" @click="sendMsg" v-if=&q

上传图片图像进行压缩后上传

图片压缩: NSData *imageData = UIImageJPEGRepresentation(self.uploadImage , 0.55); NSString *file_name = [TimeUtil getDateStringWithFormat:@"yyyy-MM-dd"]; NSString *upload_name =[NSString stringWithFormat:@"%@.jpg",file_name ]; [request set

html + js 实现图片上传,压缩,预览及图片压缩后得到Blob对象继续上传问题

先上效果 上传图片后(设置了最多上传3张图片,三张后上传按钮消失) 点击图片放大,可以使用删除和旋转按钮 (旋转功能主要是因为ios手机拍照后上传会有写图片被自动旋转,通过旋转功能可以调正) html页面 需要引入weui.min.css 不然没法渲染样式, 将下面的代码放在需要上传文件的地方就行了,如果不需要图片旋转功能, 可以直接删掉那个div, 改不改js无影响 addPhoto.html <!--图片缩略图--> <div class="weui-cells weui-

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

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

上传压缩后的图片并且保持100k不失真的方法

压缩100k图片不失真的方法:先获取图片的原始长度和宽度:然后计算图片的缩放值:最后等比例压缩: 下面代码是压缩的工具类: public class PictureUtil { /** * 主方法 * * @param filePath * @return */ public static InputStream bitmapToString(String filePath) { Bitmap bm = getSmallBitmap(filePath); ByteArrayOutputStrea

Vue-loader 开启压缩后的一些坑

在使用vue-loader 配合webpack 对.vue文件进行加载的时候,如果开启了代码压缩会出来下面几种问题,做个记录. 丢失td结束标记,导致页面的布局错乱 input的属性type为text 时会被删了 <input ... checked="{check('id')}" />这个表达式会被压成 <input ... checked /> 丢失td结束标记 <table> <tr> <td>1</td>