发表于: 2017-03-06 11:28:46

1 1281


完成的事情:

把file和form data的任务相关功能测试了出来


计划的事情:

完成angular的封装


问题:

参考网上方法完成文件的读取和显示代码

$('#selectFile').change(function(){

    var readFile = new FileReader();

    readFile.readAsDataURL($(this)[0].files[0]);

    readFile.onload = function(){

        $('.selectPic:first').attr('src',readFile.result);

        fileReady = true;

    }

    readFile.error = function(){fileReady = false;}

})

但是在操作过程中,发现this和$(this)有所区别,

在readFile.readAsDataURL($(this)[0].files[0]);中

开始是$(this).files[0],一直显示找不到什么什么的错误,因为习惯而忽略其中问题,一直查找files的问题,后来换成$('#')和document.get..id()后,再直接换成this.files[0]后,发现问题:

使用js对象都能成功,而jq对象,即使是id名词,也需要像调用数组一样添加[0]选择。

jq的对象和js的对象不一样,即使同样是id对象,在方法和值的获取调用有区别。

好吧,先把这个问题记录下来,以后研究


上传数据上使用FormData方法

若使用<form>标签包括<input>内容,则可以直接 var fd = new FormData(form data);使用

若直接读取<input>,则可var fd.append('file',data);添加

然后老方法使用ajax上传即可


注意:url:"/carrots-admin-ajax/a/u/img/test",

      type:"POST",

      data:{'file':文件}

这个是上传链接和格式

然后到angular的函数封装。。。。怎么读取路由中的参数?怎么在主页里响应路由中的change事件?

带着问题,搜索了半天,就进入下一天了


收获:

file和FormData的简单应用



返回列表 返回列表
评论

    分享到