【问题标题】:How to access file uploaded by $http and HTML5 FileReader如何访问 $http 和 HTML5 FileReader 上传的文件
【发布时间】:2014-08-28 17:22:36
【问题描述】:

我正在尝试在 Angular 应用中上传图片,代码如下所示:

      var f = document.getElementById('product-image').files[0],
        r = new FileReader();
      r.onloadend = function (e) {
          var data = e.target.result;
          $http({
              method: 'POST',
              data: data,
              url: host + '/uploadFile?' + $rootScope.user._id,
              headers: {
                  'Content-Type': 'multipart/form-data',
                  'X-File-Name': f.name,
                  'X-File-Size': f.size,
                  'X-File-Type': f.type

              }
          })
            .success(function (data, status, headers, config) {
                console.log(data)
            });

      }
      r.readAsArrayBuffer(f);

当我查看请求的 Chrome 标头字段时,它们的值看起来都不错。

现在,如何从 NodeJS 和 Express 的后端端点访问和保存该文件?我是否像往常一样查看 req 变量?我在哪里可以找到文件及其内容和元数据?

【问题讨论】:

    标签: javascript html node.js angularjs


    【解决方案1】:

    基本上,您的 post 请求不是“multipart/form-data”,您发送到服务器的数据只是二进制数组。

    所以你可以只使用 NodeJS 将二进制数据的主干保存到某个地方。

    您需要以不同于使用文件的普通表单上传的方式处理数据。

    如果您真的希望服务器以正常方式处理文件上传,您可以查看https://github.com/danialfarid/angular-file-upload

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多