当前位置: 首页 > 面试题库 >

AngularJS:如何实现具有多部分形式的简单文件上传?

黎震博
2023-03-14
问题内容

我想从AngularJS到node.js服务器做一个简单的多部分表单发布,表单的一部分应包含JSON对象,另一部分应包含图像(我目前仅使用$
resource发布JSON对象)

我以为我应该从输入type =“ file”开始,但是后来发现AngularJS无法绑定到该文件。

我可以找到的所有示例都是用于包装jQuery插件以进行拖放的。我想要一个文件的简单上传

我是AngularJS的新手,对自己编写指令完全不满意。


问题答案:

一个真正有效的解决方案,除了angularjs之外没有其他依赖性(已通过v.1.0.6测试)

html

<input type="file" name="file" onchange="angular.element(this).scope().uploadFile(this.files)"/>

Angularjs(1.0.6)在“ input-file”标签上不支持 ng-model
,因此您必须以“本机”方式进行操作,该方式会传递用户的所有(最终)选定文件。

控制

$scope.uploadFile = function(files) {
    var fd = new FormData();
    //Take the first selected file
    fd.append("file", files[0]);

    $http.post(uploadUrl, fd, {
        withCredentials: true,
        headers: {'Content-Type': undefined },
        transformRequest: angular.identity
    }).success( ...all right!... ).error( ..damn!... );

};

最酷的部分是 未定义的 内容类型和 transformRequest:angular.identity ,它们使$
http能够选择正确的“内容类型”并管理处理多部分数据时所需的边界。



 类似资料:
  • 问题内容: 我是angular.js的初学者,但是对基础知识有很好的了解。 我要做的是上传文件和一些表单数据作为多部分表单数据。我读到这不是angular的功能,但是3rd party库可以做到这一点。我已经通过git克隆了angular-file-upload,但是仍然无法发布简单的表单和文件。 有人可以提供如何执行此操作的示例,html和js吗? 问题答案: 首先 您无需对结构进行任何特殊更改

  • 本文向大家介绍jquery实现简洁文件上传表单样式,包括了jquery实现简洁文件上传表单样式的使用技巧和注意事项,需要的朋友参考一下 文章开始先告诉大家制作jquery实现简洁文件上传表单样式的简易教程。 效果图: 页面结构: css文件样式: javascript部分代码: 下载地址:  jquery实现简洁文件上传表单样式 希望这款简洁实用的jquery实现文件上传表单样式大家会喜欢,并可以

  • 依赖模块 安装依赖 npm install --save busboy busboy 是用来解析出请求中文件流 例子源码 demo源码 https://github.com/ChenShenhai/koa2-note/blob/master/demo/upload/ 封装上传文件到写入服务的方法 const inspect = require('util').inspect const path

  • 这是我当前通过CloudFront成功上传文件到S3的代码: 现在对于分块上传(或者AWS术语中的多部分),我不知道如何通过CloudFront(只有S3的文档)来完成它。 它发送了一个预飞行请求(OPTIONS),并返回,其中包含以下响应头: 但实际的POST请求返回并带有以下响应头:

  • 本文向大家介绍简单实现js上传文件功能,包括了简单实现js上传文件功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现上传文件功能的具体代码,供大家参考,具体内容如下 一、用input完成上传,效果图如        选择文件后,提交后出现图片url 二、传输格式采用form-data形式。 html代码  js部分 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大

  • 本文向大家介绍php文件上传简单实现方法,包括了php文件上传简单实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php文件上传的简单实现方法。分享给大家供大家参考。具体如下: 文件1:index.php 文件2:uploadProcess.php 希望本文所述对大家的php程序设计有所帮助。