积极答复者
求个固定附件上传的方法

问题
-
后台在提交数据有5个固定的上传附件控件,分别对应数据库5个字段,点击确定按钮 提交5个附件到数据库,数据库记录的上传附件名字。。我的问题就是。。我是用笨方法。。在确定按钮里写5个上传附件的代码。感觉这样很死板
string fn; string fn1; string fn2; ......//省略 string sFilePath = ""; string sFilePath1 = ""; string sFilePath2 = ""; ......//省略 string FileName = FilDh.FileName; string FileName1 = FilSms.FileName; string FileName2 = FilCS.FileName; ......//省略 string strExPrentFile = FileName.Substring(FileName.LastIndexOf(".") + 1); string strExPrentFile1 = FileName1.Substring(FileName1.LastIndexOf(".") + 1); string strExPrentFile2 = FileName2.Substring(FileName2.LastIndexOf(".") + 1); string[] AgreeExPrentFile = new string[] { "swf", "gif" }; string[] AgreeExPrentFile1 = new string[] { "doc", "docx", "txt", "pdf" }; string[] AgreeExPrentFile2 = new string[] { "jpg", "bmp", "gif" }; ......//省略 fn = "a" + DateTime.Now.ToString("yyMMddhhmmss") + "." + strExPrentFile; sFilePath = "../uploads/" + fn; fn1 = DateTime.Now.ToString("yyMMddhhmmss") + "." + strExPrentFile1; sFilePath1 = "../uploads/" + fn1; fn2 = DateTime.Now.ToString("yyMMddhhmmss") + "." + strExPrentFile2; sFilePath2 = "../uploads/" + fn2; ......//省略 string strSql="insert into .........." 以上是我的代码,写在提交按钮里。感觉这样写总是不舒服,想搞个方法,传递参数比如说附件名,上传类型等,,然后调用。因为如果是固定的附件<br/>在多以前 如果是6个,那我就要写6个 重复代码。。。自己试着写个方法。。失败。。求助
不用羡慕----那,只是个传说!
答案
全部回复
-
我现在换了个方法 ,采用多附件上传,,asp.net多附件上传问题,,页面4个附件,,HttpFileCollection 获得上传集合。4个附件分别对应数据库4个字段,问题是我想实现一个附件名上传到一个数据库对应字段里。如果用户 选择 附件1,3,4上传附件。怎么让记录数据库的字段也是附件 1,3,4 默认是写入数据库字段的是1,2,3 这样位置就错开拉。不选择的附件写入数据库可以是空
string fn="";
string[] arrfile = new string[] { };
StringBuilder strMsg = new StringBuilder();//定义一个文件流
HttpFileCollection Files = HttpContext.Current.Request.Files;
for (int i = 0; i < Files.Count; i++)
{
HttpPostedFile PostedFile = Files[i];
if (PostedFile.ContentLength > 0)
{
string FileName = PostedFile.FileName;
string strExPrentFile = FileName.Substring(FileName.LastIndexOf(".") + 1);
string[] AgreeExPrentFile = new string[] { "doc", "jpg", "txt", "rar" };
bool IsUp = false;
for (int j = 0; j < AgreeExPrentFile.Length; j++)
{
if (strExPrentFile.Equals(AgreeExPrentFile[j]))
{
IsUp = true;
}
}
if (IsUp)
{
fn=DateTime.Now.ToString("yyMMddhhmmss")+Strings.GetRandom(5)+"."+strExPrentFile;
}
}
}
}
string strSql="insert into table(fujian1,fujian2,fujian3,fujian4) values()";
不用羡慕----那,只是个传说!