upload上传文件

上传Excel文件代码demo:

下载上传js文件:bower install ng-file-uploa;引入js文件;

angular.module(‘dc.workflow‘, [    ‘ngFileUpload‘]);

js代码:var data=this.data={file:null};//定义data.file为空;
this.selectImage = function (file) {    this.errorFileType = false;    if (file[0].type != ‘application/vnd.openxmlformats-officedocument.spreadsheetml.sheet‘) {        this.errorFileType = true;    }};//判断上传文件类型,定义errorFileType为false,if()里面为判断条件,判断条件为非的时候(也就是条件不成立),errorFilterType为true;上传文件正确时(也就是条件成立)获取上传的文件的所有信息,包括文件名称,大小,格式等等,储存在file里面;
this.importFile = function (ev) {    if (this.errorFileType || !data.file) {        this.errorFileType = true;        return    }//这里是判断上面条件不成立的时候直接return,不执行下面的代码;    Upload.upload({        url: commonSvc.baseURlForDCBulk + ‘api/import/‘ + templateId,        data: {ExcelFile: data.file}//条件成立,上传文件到固定的接口地址,并且获取上传文件    }).then(function (result) {        //上传文件成功后所执行的代码        $mdDialog.hide();        $mdDialog.show({            controller: ‘tableDataImportSuccessModalCtrl‘,            controllerAs: ‘$ctrl‘,            templateUrl: ‘modal/data-import-export/table-data-import-success-modal.html‘,            parent: angular.element(document.body),            targetEvent: ev,            locals: {},            clickOutsideToClose: false,            fullscreen: false // Only for -xs, -sm breakpoints.        }).then(function (result) {

});    }).catch(commonSvc.translateHttpError);};
html代码:
<md-dialog style="min-width: 30%" aria-label="create table">    <md-toolbar style="font-weight:bold;">#fff; color: #000;">        <div class="md-toolbar-tools">            <h2>                {{‘select-file‘ | translate}}                <span style="color: #9A9A9A; font-size: 12px; margin-left:5px;">请上传Excel文件</span>            </h2>            <span flex></span>        </div>    </md-toolbar>

<md-dialog-content>        <div class="md-dialog-content" style="padding-top: 0">            <div layout="row">                <md-input-container class="no-margin no-padding" flex>                    <input aria-label="input" name="fileName" ng-model="$ctrl.data.file.name" disabled                           style="height: 38px; border: 1px solid #ccc;"/>                    //ng-model获取上传文件的name并显示在文本框里                </md-input-container>                <md-button aria-label="upload" class="select-file-btn"                           ngf-select="$ctrl.selectImage($files)"//执行selectImage函数$files作为参数传递到函数file里面                           accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"                           ngf-pattern="‘application/vnd.openxmlformats-officedocument.spreadsheetml.sheet‘"                //这两行代码是设置上传文件的类型                           ng-model="$ctrl.data.file"//ng-model获取上传文件储存在模板中>                    选择文件                </md-button>            </div>            <span ng-if="$ctrl.errorFileType" class="errors">*请上传Excel文件.</span>

<p style="color: #9A9A9A; margin-top: 10px;" class="no-margin">*{{‘import-file-temp‘ | translate}}</p>            <p style="color: #9A9A9A;" class="no-margin">*{{‘import-file-temp-content‘ | translate}}</p>            <p style="color: #9A9A9A;" class="no-margin">*文件不得超过20M</p>        </div>    </md-dialog-content>

<md-dialog-actions layout="row">        <md-button aria-label="button" class="md-warn no-padding" ng-click="$ctrl.closeDialog()">            取消        </md-button>        <md-button aria-label="button" class="md-primary md-raised no-padding" ng-click="$ctrl.importFile($evemt)"//点击上传直接上传文件函数>            上传        </md-button>    </md-dialog-actions></md-dialog>

 
时间: 2024-10-11 11:24:23

upload上传文件的相关文章

element-ui upload上传文件并携带参数 使用formData对象

需求:上传文件的时候,需要携带其他的参数 问题:使用upload上传文件时,必须使用formData对象,而其他的参数通过data获取的到的,formData和data是不能同时传输的 解决:获取到的data数据,使用formData.append()方法添加上就可以啦,然后把整个formData传给后台就可以了 比如后台需要三个参数 :file .platformName.reconciliationData let formData = new FormData(); formData.ap

element中upload上传文件遇到校验问题

在做上传的时候,遇到的需求是 需要对选择的文件进行文件名唯一校验.当我们选择文件以后,点击上传按钮,在文件状态改变时的钩子on-change里做校验规则, 成功或者失败都会重新再走一次这个函数.所以当后端数据库里没有这条数据是,点击上传 会显示一条上传成功,紧接着一条文件名已存在.bug来了,“走校验”在成功后也会出现一次.我想到的办法是,我们不用“this.$refs.upload.submit()”方法,自定义上传接口. 此时,,我们在.then里执行成功  失败的操作.这是后还得注意一个问

jquery.uploadify上传文件配置详解(asp.net mvc)

页面源码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jquery upload上传文件(asp.net mvc)配置</title> <script src="Resources/jquery.js"

Android应用开发中webview上传文件的几种思路

1. 常规方法,重写WebChromeClient 的 openFileChooser 方法 private class MyWebChromeClient extends WebChromeClient { // For Android 3.0+ public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) { if (mUploadMessage != null) return; mUploadMe

SpringMVC上传文件进度显示

效果图: FileUploadController.java import java.io.File; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.commons.fileupload.FileIt

SpringMVC上传文件后返回文件服务器地址路径

先写一个表单: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"

面试题笔记:实现Nginx Upload 模块 功能上传文件。

linux服务器开发测评题目———————————————————————————— 搭建一个nginx服务器,能完成文件上传功能.主要构成有: <1> 用于测试服务器上传功能用的前端html页面 <2> nginx web服务器,包括了文件上传功能模块,注意配置好配置文件 <3> 对于上传成功的文件,给前端返回upload successfully信息 动手搭建完成后,针对上面的几点要求截几张图,同时把前端html页面,nginx配置文件,和假如需要使用的业务逻辑代码

转:使用 Nginx Upload Module 实现上传文件功能

普通网站在实现文件上传功能的时候,一般是使用Python,Java等后端程序实现,比较麻烦.Nginx有一个Upload模块,可以非常简单的实现文件上传功能.此模块的原理是先把用户上传的文件保存到临时文件,然后在交由后台页面处理,并且把文件的原名,上传后的名称,文件类型,文件大小set到页面.下面和大家具体介绍一下. 一.编译安装Nginx 为了使用Nginx Upload Module,需要编译安装Nginx,将upload module编译进去.upload module的代码可以去Gith

上传文件 file upload 学习笔记

这里我只会说说一些完成 file upload 的基础 API. 很多项目我们需要上传文件. 有简单的 input file, 有需要验证的,有需要压缩的(img),有需要分段的(video),有需要体验好(display on local, ajax & percent) 等等 要完成以上的所有需求,我们需要很多底层的 API, 比如 File, FileReader, Canvas , XMLHttpRequest , Blob 要把这个控件写好的话,需要一些设计模式,不过这篇不会涉及这个,