传照片

vue+axios上传图片文件和数据

夙愿已清 提交于 2019-11-28 08:59:21
项目中需要上传图片到服务器。最初思路使用input选择图片后获取base64,直接传送base64编码到后台。 <input type="file" accept="image/*" multiple @change="headImgChange" class="image_file"> 在change方法里边通过FileReader()获取base64就完事了. headImgChange( e ) { let self = this; let reader = new FileReader(); reader.readAsDataURL( e.target.files[ 0 ] ); reader.onload = function ( e ) { self.headImg = e.target.result; //img base64 }} 后面在axios.put的时候才知道后台同学使用的Django检验的是一个文件流,大概是文件流吧,据他说法需要用form表单提交. 为了顺便弄清楚form表单和ajax,决定用ajax代替form表单提交上传文件。 最浅显的区别就是form有action属性,会发生页面跳转刷新,ajax则异步请求,刷新局部。 于是一查,使用new formData();可以实现表单提交; let data = new FormData();data

NodeJS+axios上传图片

别等时光非礼了梦想. 提交于 2019-11-28 08:59:08
前端js部分 changeEvent (e) { ------ //change事件方法 let oFile = e.target.files[0] ------ //获取文件对象 let param = new FormData() ------ //new一个formData param.append('file', oFile, oFile.name) ------ //将文件添加到formdata中 param.append('chunk', '0') let config = { headers: {'Content-Type': 'multipart/form-data'} } this.axios.post('/api/upload/upavatar?username=' + username, param, config) ------//传输数据 .then(response => { if (response.data.data === 1) { ------ //成功后的回掉 let instance = Toast({ message: '头像更改成功' }) setTimeout(() => { instance.close() }, 1000) } }) }    NodeJS部分 需要引入formidable、path模块 router.post('

Vue axios 上传图片

坚强是说给别人听的谎言 提交于 2019-11-28 08:58:55
上传图片接口 // 上传图片 export const uploadBanner = formData => { return axios.request({ url: 'manage/slideshow/save', headers: {'Content-Type':'multipart/form-data'}, data: formData, method: 'post' }) } 接口调用 let formData = new FormData(); formData.append('image',this.selectFile); formData.append('level',this.imgIndexUpload); uploadBanner(formData).then(res => { console.log(res.data); if(res.data.code == 200){ this.$Message.success(res.data.message); } else { this.$Message.success(res.data.message); } }).catch(err => { console.log(err) }) 来源: https://www.cnblogs.com/hzx-5/p/9995905.html

axios上传图片

巧了我就是萌 提交于 2019-11-28 08:58:40
html部分,可以把input file的opacity设置为0,点击其父容器,即触发file <input class="file" name="file" type="file" accept="image/png,image/gif,image/jpeg" @change="update($event)"/> axios的post请求,发送form数据部分,这样就可以无刷新的提交form数据到后台        update(e){ let file = e.target.files[0]; let param = new FormData(); //创建form对象 param.append('tweetPic',file,file.name);//通过append向form对象添加数据 //param.append('chunk','0');//添加form表单中其他数据 //console.log(param.get('tweetPic')); //FormData私有类对象,访问不到,可以通过get判断值是否传进去 let config = { headers:{'Content-Type':'multipart/form-data'} }; //添加请求头 axios.post('url/',param,config) .then(response=>{

ajax 图片上传并且显示

倖福魔咒の 提交于 2019-11-28 08:19:42
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Html5 Ajax 上传文件</title> <style type="text/css"> #imgshow{ width: 500px; height: 300px } </style> <script type="text/javascript"> function UpladFile() { var fileObj = document.getElementById("file").files[0]; // js 获取文件对象 var FileController = "aa.php"; // 接收上传文件的后台地址 // FormData 对象 var form = new FormData(); form.append("author", "hooyes"); // 可以增加表单数据 form.append("file", fileObj); // 文件对象 // XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); xhr.open("post", FileController, true); xhr.onload = function () { // alert("上传完成!"); }; xhr

图片上传的问题

你。 提交于 2019-11-28 07:43:06
最近在做有图片上传的功能,出现了一些问题 记录一下 1.上传 的时候是正常的,上传到服务端在读取的时候,会变成小黑块(偶尔一些图片出现)   原因:现在是将图片的base64的源码进行上传 ,利用ajax上传的过程中,+ 会被解析为 “”,导致图片受损无法解析   解决:imageData.replace(/+/g,"%2B"); 全部替换(与后台协商好,还有头部data:image/jpeg;base64, 也要协商好) 2.上传的图片是 IOS最新的图片格式 HEIC 格式,服务端对这个格式的图片并没有做解析,导致回显失败   原因:格式比较新,还无法正常解析存储   解决:1.在前端设置 可以解析的格式类型 ,不合符规定的 不通过校验      2.在服务端增加对改格式的解析功能 来源: https://www.cnblogs.com/GoTing/p/11399691.html

c#图片上传到服务器,进行图片质量压缩,像素调整

﹥>﹥吖頭↗ 提交于 2019-11-28 07:21:49
using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; class PicCompress { public byte[] GetPictureData(string imagepath) { FileStream file = new FileStream(imagepath, FileMode.Open); byte[] by = new byte[file.Length]; file.Read(by, 0, by.Length); file.Close(); return by; } public byte[] GetPictureData(Image imgPhoto) { //将Image转换成流数据,并保存为byte[] MemoryStream mstream = new MemoryStream(); imgPhoto.Save(mstream, System.Drawing.Imaging

小程序多图片上传组件封装及使用

爷,独闯天下 提交于 2019-11-28 06:29:41
  最近刚开发了小程序上传图片功能,为了便于后续查找,特此记录归总。   在实际开发过程中,图片上传功能是很常用的功能,所以将其封装成组件,避免后续重复劳动力,已是不争的事实。   一、先将图片上传功能能封装成公用模块(common.js)中,便于其它其它功能调用。此处封装了单张图片上传和多张图片上传。   common.js 文件 /** * 文件上传 */ function uploader(file, callback) { wx.uploadFile({ url: "http://10.109.86.1:5300/education/api/education/ImageUploader", //服务端Url filePath: file, //需要上传的文件 name: 'anqindayviews', //文件名称 header: { "Content-Type": "multipart/form-data" }, success: function(res) { if (res && res.data) { var data = JSON.parse(res.data); if (data.isSuccess && callback) { callback(data.content); } else { wx.hideToast(); wx.showModal({

vux-uploader 图片上传组件

纵饮孤独 提交于 2019-11-28 06:28:42
1.网址:https://github.com/greedying/vux-uploader 2.安装 npm install vux-uploader --save npm install --save-dev babel-preset-es2015 .babelrc { "presets": [ ["env", { "modules": false, "targets": { "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] } }], "es2015", "stage-2" ], "plugins": ["transform-runtime"], "env": { "test": { "presets": ["env", "es2015", "stage-2"], "plugins": ["istanbul"] } } } 3.使用 // 引入组件 import Uploader from 'vux-uploader' // 子组件 export default { ... components: { ... Uploader, ... } ... } // 使用组件 <uploader :max="varmax" :images="images" :handle-click="true" :show-header=

js上传图片到七牛云存储

天涯浪子 提交于 2019-11-27 21:59:15
项目开发过程中遇到一个需求,运营人员需要上传图片到七牛云,最开始的做法是,后台对接七牛,然后出一个接口,前端调用接口,先将图片传到后台,然后后台再上传七牛云,用的过程中发现,图片小的情况下还好,图片一旦到了几十兆甚至几百兆的时候就很慢,前端上传图片到后台需要一定时间,后端上传到七牛又需要一段时间,很是麻烦,所以果断改成了前端直接上传七牛,直接上代码 <!doctype html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>js上传图片到七牛</title> <style> #container{ width:200px; height:200px; border:1px solid #9d9d9d; border-radius: 6px; margin:50px auto; position: relative; overflow: hidden; }