牛骨文教育服务平台(让学习变的简单)
博文笔记

使用Cropbox解决图片上传

创建时间:2016-07-08 投稿人: 浏览次数:2791
简单地引入Dropbox的css与js即可使用。 ``` $("#newImg").cropbox({
   width: 200,
   height: 100,
   showControls: "always",
}, function() {

}).on("cropbox", function(edataimg) {
   oLessonDetail.uploadPic.dataUrl = img.getDataURL(); }); ``` 经过放缩,筛选的图片,它的Base64 就是 img.getDataURL();
``` var base64Data = req.body.dataUrl.replace(/^data:image/png;base64,/,"");
var f = new AV.File(req.body.picName, {
    base64: base64Data
});
try {
    f.save().then(function (fileObj) {
        res.send({
            "code": 0,
            "message": "上传成功",
            "url": fileObj.url(),
            "id": fileObj.id,
        });
    });
}
``` 使用正则将“头部”信息去掉,得到截取图片的base64码,然后再进行AVFile的存储。
文件名的方法, getFileName: function (element) {
   var url, file, agent, thefile;
   file = element;
   agent = navigator.userAgent;
   if (agent.indexOf("MSIE")>=1) {
      url = file.value;
      return "IE默认名字图片";
   } else if(agent.indexOf("Firefox")>0) {
      thefile = file.files.item(0);
      return thefile.name;
   } else if(agent.indexOf("Chrome")>0) {
      thefile = file.files.item(0);
      return thefile.name;
   } }, IE还没测试,element 是document.getElementById(‘xxxx’) 。
Express4中做此限制,可以限制上传的大小,默认是100Kb app.use(bodyParser.urlencoded({
   extended: true,
   limit: "1mb"
})); 
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。