C# webapi实现文件上传

qq_20015205 2016-01-18 01:31:18
这样一个表单,然后提交到本地一个盘的以那个字符命名的文件夹
...全文
1715 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_28133307 2016-01-26
  • 打赏
  • 举报
回复
纯手工: public DataSet ExecleDs(string filenameurl, string table) { string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filenameurl + ";" + "Extended Properties=\"Excel 12.0;IMEX=1;\""; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); DataSet ds = new DataSet(); OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn); odda.Fill(ds, table); conn.Close(); return ds; } //导入Excel protected void btnImport_Click(object sender, EventArgs e) { string strConn = "Data Source=...;DataBase=...;Uid=...;Pwd=..."; if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件 { Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language='Javascript'>alert('请您选择Excel文件')</script>"); return;//当无文件时,返回 } string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名 if (IsXls == ".xls" || IsXls == ".xlsx") { SqlConnection cn = new SqlConnection(strConn); cn.Open(); string filename = FileUpload1.FileName; //获取Execle文件名 DateTime日期函数 string savePath = Server.MapPath(filename);//Server.MapPath 获得虚拟服务器相对路径 FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上 DataSet ds = ExecleDs(savePath, filename); //调用自定义方法 DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组 int rowsnum = ds.Tables[0].Rows.Count; Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)excelApp.Workbooks[1].Worksheets[i + 1]; string sSheetName = ws.Name; if (rowsnum == 0) { Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language='Javascript'>alert('Excel表为空表,无数据!')</script>"); //当Excel表为空时,对用户进行提示 } else { for (int i = 0; i < dr.Length; i++) { string OrderID = dr[i]["1"].ToString(); string DeviceName = dr[i]["2"].ToString(); string Brand = dr[i]["3"].ToString(); string Model = dr[i]["4"].ToString(); string Company = dr[i]["5"].ToString(); string Number = dr[i]["6"].ToString(); string UnitPrice = dr[i]["7"].ToString(); string Subtotal = dr[i]["8"].ToString(); string Remarks = dr[i]["9"].ToString(); string insertstr = ""; if (pt.GetOrder("XFD_Equipment", OrderID, Session["XFDEquipmentListID"].ToString(), Session["XFDCategory"].ToString())) { insertstr = "数据库添加语句"; } SqlCommand cmd = new SqlCommand(insertstr, cn); try { cmd.ExecuteNonQuery(); } catch (MembershipCreateUserException ex) //捕捉异常 { Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language='Javascript'>alert('导入内容:" + ex.Message + "')</script>"); } } Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language='Javascript'>alert('Excle表导入成功!');</script>"); } 重新绑定查询方法; cn.Close(); } else { Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language='Javascript'>alert('只可以选择Excel文件')</script>"); return;//当选择的不是Excel文件时,返回 } }
myhope88 2016-01-21
  • 打赏
  • 举报
回复
这跟webapi有啥关系呢
  • 打赏
  • 举报
回复
HttpPostedFile file = HttpContext.Current.Request.Files[0]; string strPath = "D:\\MyProjects\\StudySolution\\RestDemo\\Upload\\test2.rar" ; file.SaveAs(strPath);

62,042

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧