tornado + angular 文件上传<1>

作者: kolaman | 来源:发表于2015-05-26 23:11 被阅读1505次

最近在写一个tornado 与 angularJS 搭建的一个web项目,刚实现了一个图片上传功能,还比较简陋,简单的在这做个笔记。

首先,前端通过angular提交文件:

//upload.html
<input type="file" name="file"
       onchange="angular.element(this).scope().uploadFile(this.files)"/>
//upload.js
$scope.uploadFile = function (files) {
  var fd = new FormData();
  fd.append("file", files[0]);
  $http.post("/api/upload", fd, {
    withCredentials: true,
    headers: {'Content-Type': undefined},
    transformRequest: angular.identity
  }).success(function (data) {
       console.log("do something");
  });
};

只贴了上传文件的部分代码,controller就不在此赘述了。

然后,通过tornado接收表单文件并保存图片:

DIR = "/upload/media/"
class UploadHandle(tornado.web.RequestHandler):
     def post(self, *args, **kwargs):
        fileinfo = self.request.files["file"][0]
        fname = fileinfo['filename']
        cname = DIR + "test" +"."+fname.split(".")[-1]
        fh = open(cname, 'w')
        fh.write(fileinfo['body'])
        self.finish("success")

相关文章

网友评论

    本文标题:tornado + angular 文件上传<1>

    本文链接:https://www.haomeiwen.com/subject/dmyrqttx.html