Ajax实现图片上传

前端之家收集整理的这篇文章主要介绍了Ajax实现图片上传前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

《Node.js+express+MySQL使用七牛云实现的用户头像修改》,我们已经实现了使用MUI做的H5的app实现了图片上传。现在公司的PC端需要实现图片上传,但是之前图片上传的接口已经写好了。就是《Node.js+express+MySQL使用七牛云实现的用户头像修改》里提到的接口。
现在前端要做的就是去适应这个接口。一般做的都是表单提交,显示使用的ajax。
HTML代码

  1. <input type="file" id="uploadFile" onchange="inputchange('5')" filetype="image/*"/>

前端js代码

  1. // 图片选择改变事件
  2. function inputchange(tag){
  3. var inputTag = 'uploadFile' + tag;
  4. var file = document.getElementById(inputTag);
  5. if(window.FileReader){//chrome,firefox7+,opera,IE10+
  6. oFReader = new FileReader();
  7. oFReader.readAsDataURL(file.files[0]);
  8. oFReader.onload = function (oFREvent) {
  9. uploadImage(oFREvent.target.result,tag);
  10. // oFREvent.target.result 结果就是base64的数据
  11. };
  12. }
  13. }
  14. // 图片上传
  15. function uploadImage(imageData,tag){
  16. $.ajax({
  17. url: '/api/upload',data: {
  18. imgData: imageData // 图片数据流
  19. },dataType: 'json',type: 'post',timeout: 10000,success: function(data) {
  20. if (data.status == 100 ) {
  21. var img = '#image' + tag;
  22. $(img).attr('src',data.imageUrl);
  23. }else{
  24. alert('图片上传失败!');
  25. }
  26. },error: function(xhr,type,errorThrown) {
  27. alert('网络异常,请稍后再试!');
  28. }
  29. });
  30. }

这里主要的重点是FileReader这个的使用。

猜你在找的Ajax相关文章