上传文件到服务器

 1                 <table class="table table-strippled exhibit-table">
 2                     <tbody>
 3                         <tr>
 4                             <td class="background-title"><i class="red-font"></i><span class="background-title"> 备份文件</span></td>
 5                             <td>
 6                                 <form action="#" class="clearfix" id="uploadForm" method="post">
 7                                     <input id="bkImg" type=‘file‘ name="files"
 8                                            class="file" data-min-file-count="2" onchange="FileChange(‘bkImg‘, ‘uploadForm‘)">
 9                                 </form>
10                             </td>
11
12                         </tr>
13                     </tbody>
14                 </table>

HTML中上传框

 1 //图片上传
 2 var nameImg = "";//定义全局变量存储文件名
 3 function FileChange(inputId, uploadForm) {
 4     if ($("#" + inputId).val() == "") {
 5         return;
 6     }
 7     else {
 8         var formData = new FormData($("#" + uploadForm)[0]);
 9         $.ajax({
10             url: "/CContractMgr/SubmitImg",
11             type: "POST",
12             data: formData,
13             async: false,
14             cache: false,
15             contentType: false,
16             processData: false,
17             success: function (result) {
18                 if (result.r > 0) {
19                     nameImg = result.nameImg;//获取返回的文件名
20                 } else {
21                     if (result.message.trim() == "") { result.message = "系统错误,请重新操作!"; }
22                     layer.alert(result.message);
23                     $("#" + inputId).val("");
24                 }
25             }
26         });
27     }
28 }

JS

 1         /// <summary>
 2         /// 上传图片
 3         /// </summary>
 4         /// <returns></returns>
 5         [HttpPost]
 6         public JsonResult SubmitImg()
 7         {
 8             var _r = 0;
 9             var _message = "";
10             var _nameImg = "";
11             //上传和返回(保存到数据库中)的路径
12             string uppath = string.Empty;
13             string savepath = string.Empty;
14             HttpPostedFileBase imgFile = Request.Files[0];
15             if (Request.Files.Count > 0)
16             {
17
18                 if (imgFile != null)
19                 {
20                     //创建图片新的名称
21                     string nameImg = DateTime.Now.ToString("yyyyMMddHHmmssfff");
22                     //获得上传图片的路径
23                     string strPath = imgFile.FileName;
24                     //获得上传图片的类型(后缀名)
25                     string type = strPath.Substring(strPath.LastIndexOf(".") + 1).ToLower();
26                     if (ValidateImg(type))
27                     {
28                         //拼写上传图片的路径
29                         var ImgUrl = "/Images/contract/contractImg/";
30                         uppath = Server.MapPath(ImgUrl);
31                         if (!Directory.Exists(uppath))//判断上传文件夹是否存在,若不存在,则创建
32                         {
33                             Directory.CreateDirectory(uppath);//创建文件夹
34                         }
35                         uppath += nameImg + "." + type;//图片保存路径
36
37                         //拼写数据库保存的相对路径字符串
38                         savepath += ImgUrl + nameImg + "." + type;
39
40                         //上传图片
41                         try
42                         {
43                             imgFile.SaveAs(uppath);
44                             _r = 1;
45                             _message = "上传成功";
46                             _nameImg = nameImg;
47                         }
48                         catch (Exception ex)
49                         {
50                             UtilityHelp.WriteLog(ex, ex.Message);
51                             _r = 0;
52                             _message = "上传异常!";
53                         }
54                     }
55                     else
56                     {
57                         _r = 0;
58                         _message = "合同备份仅支持PDF格式,请加密后重新上传!";
59                     }
60                 }
61             }
62             var json = new { r = _r, filename = savepath, message = _message, nameImg = _nameImg };
63             return Json(json, JsonRequestBehavior.AllowGet);
64         }
65
66         /// <summary>
67         /// 图片上传类型
68         /// </summary>
69         /// <param name="imgName"></param>
70         /// <returns></returns>
71         public bool ValidateImg(string imgName)
72         {
73             string[] imgType = new string[] { "pdf" };
74
75             int i = 0;
76             bool blean = false;
77             string message = string.Empty;
78
79             //判断是否为Image类型文件
80             while (i < imgType.Length)
81             {
82                 if (imgName.Equals(imgType[i].ToString()))
83                 {
84                     blean = true;
85                     break;
86                 }
87                 else if (i == (imgType.Length - 1))
88                 {
89                     break;
90                 }
91                 else
92                 {
93                     i++;
94                 }
95             }
96             return blean;
97         }

Controller控制器:

时间: 2024-08-03 21:47:25

上传文件到服务器的相关文章

利用put上传文件到服务器

#import "KUViewController.h" #import "KUProgress.h" @interfaceKUViewController ()<NSURLSessionTaskDelegate> //下载进度的类,继承UIview @property (weak, nonatomic) IBOutlet  KUProgress *progressView; @end @implementation KUViewController -

本地上传文件到服务器,从服务器下载文件到本地

最近在做项目的时候涉及到了文件的上传.下载,以前学习IO时也没有搞得多清楚,在网上找了些上传下载的例子,然后修改了部分.经测试,上传下载文件暂时能用,下面是上传和下载的方法: 1.本地上传文件到服务器 html代码: <form id="uploadDatumInfo" name="uploadDatumInfo" method="post" enctype="multipart/form-data" target=&q

Android上传文件至服务器(转)

本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术. 一.Android端实现文件上传 1).新建一个Android项目命名为androidUpload,目录结构如下: 2).新建FormFile类,用来封装文件信息 package com.ljq.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce

put上传文件的服务器的配置

1,HTTP常见的方法 GET 获取指定资源 POST 2M 向指定资源提交数据进行处理请求,在RESTful风格中用于新增资源 HE A D 获取指定资源头部信息PUT 替换指定资源(不支持浏览器操作) DELETE 删除指定资源   2,配置服务器的put请求方式:   1> n 打开终端p cd /etc/apache2p sudo vim httpd.conf n 在vim中输入p /httpd-dav.conf? 查找httpd-dav.confp 按0将光标移动至行首p 按x将行首的

C# FTP上传文件至服务器代码

C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo">需要上传的文件</param> /// <param name="targetDir">目标路径</param> /// <param name="hostname">ftp地址</param&g

php上传文件到服务器 (注意权限)

表单<input type="file" name="upload_pic"> php上传文件到服务器,注意需要获取权限: if($_FILES['upload_pic']['size'] > 0) { $file_path=dirname(__FILE__); //文件目录 $file_path=str_replace('\\','/',substr($file_path,0,strpos($file_path,'application'))).

python 上传文件到服务器

def upload(filename): #buld post body data boundary = '--xxxxxxxxxxxxxxxx ' http_url='http://xx.xx.com/upload.php' data = [] data.append('--%s' % boundary) fp=open(filename,'rb') data.append('Content-Disposition: form-data; name="%s"; filename=&

Android中利用HTTP协议实现上传文件到服务器

首先我们需要使用HTTP协议发送数据,我们就要知道HTTP发送上传文件到服务器的时候需要哪些头字段已经相关的配置,请看下图 这是使用浏览器模拟上传文件到服务器时候所发送的请求,我们可以看到它包含了请求头字段和实体部分,但是多了一个---------------------------7da2137580612,它实际上是一条分隔线,用于分隔实体数据的,他在使用分隔实体数据的时候会在前面包含多两个"-"而在结束的时候会在除了在前面都出两个减号"-"之外,还会在末尾都出

【经验记录】Android上传文件到服务器

Android中实现上传文件,其实是很简单的,和在java里面是一样的,基本上都是熟悉操作输出流和输入流!还有一个特别重要的就是需要配置content-type的一些参数!如果这些都弄好了,上传就很简单了,下面是我写的一个上传的工具类: package com.spring.sky.image.upload.network; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream;

工作笔记4.struts2上传文件到服务器

本文介绍两种:上传文件到服务器的方式   一种是提交Form表单:另一种是ajaxfileupload异步上传. 一.JSP中:     1.提交Form表单 为了能完成文件上传,我们应该将这两个表单域所在表单的enctype属性设置为multipart/form-data. <form action="uploadFiles_fourInsuranceFirstUpload.action" method="post" enctype="multip