老师,我现在想实现注册的时候可以上传头像,然后将头像保存在static/img/目录下,命名方式用用户id加后缀就可以。 但是,怎么上传图片呢? 我尝试了在注册按钮上面添加这样一行代码
<div class="uk-form-row"> <input type="file" name="picfile" v-model="icon"> <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-user"></i> 选择头像</button> </div>
然后可以弹出选择图片了,选完后 我在JS里面加入了这些代码
$(function () { var vm = new Vue({ el: '#vm', data: { name: '', email: '', password1: '', password2: '', icon:'' }, methods: { submit: function (event) { event.preventDefault(); var $form = $('#vm'); if (! this.name.trim()) { return $form.showFormError('请输入名字'); } if (! validateEmail(this.email.trim().toLowerCase())) { return $form.showFormError('请输入正确的Email地址'); } if (this.password1.length < 6) { return $form.showFormError('口令长度至少为6个字符'); } if (this.password1 !== this.password2) { return $form.showFormError('两次输入的口令不一致'); } if (this.icon.length <= 0) { return $form.showFormError('需要上传头像'); } var email = this.email.trim().toLowerCase(); debugger $form.postJSON('/api/users', { name: this.name.trim(), email: email, passwd: CryptoJS.SHA1(email + ':' + this.password1).toString(), icon: this.icon }, function (err, r) { if (err) { return $form.showFormError(err); } return location.assign('/'); }); } } }); $('#vm').show(); });
但是每次this.icon都是空数据,根本就没有图片的2进制数据,我应该怎么改呢阿峰老师? 这一块其实很建议老师您讲一讲,因为交互这块上传文件,感觉真的没人教网上的又看不懂...
Sign in to make a reply
王新美男
老师,我现在想实现注册的时候可以上传头像,然后将头像保存在static/img/目录下,命名方式用用户id加后缀就可以。 但是,怎么上传图片呢? 我尝试了在注册按钮上面添加这样一行代码
然后可以弹出选择图片了,选完后 我在JS里面加入了这些代码
但是每次this.icon都是空数据,根本就没有图片的2进制数据,我应该怎么改呢阿峰老师? 这一块其实很建议老师您讲一讲,因为交互这块上传文件,感觉真的没人教网上的又看不懂...