永发信息网

用FileUpload控件怎么实现多图片上传

答案:2  悬赏:0  手机版
解决时间 2021-02-13 17:33
用FileUpload控件怎么实现多图片上传
最佳答案
FileUpload实现单图片上传,如果想多图片上传,你试试这个:
<tr>
<td align="right" valign="top">
试卷照片:
</td>
<td align="left">
<div id="_container">
<input id="File1" type="file" name="File" runat="server" size="10" />
</div>
</td>
<td align="left" valign="bottom">
<input type="button" value="添加" onclick="addFile()" />
</td>
</tr>
addFile()源码:
//多文件上传,动态生成多个上传控件
function addFile() {
var div = document.createElement("div");
var f = document.createElement("input");
f.setAttribute("type", "file");
f.setAttribute("name", "file");
f.setAttribute("size", "10");
div.appendChild(f);
document.getElementById("_container").appendChild(div);
}

后台页面调用:
#region 上传添加图片的方法
/// <summary>
/// 上传添加图片的方法
/// </summary>
/// <param name="nId">关联id</param>
private static void UploadAndAddPicTures(int nId)
{
LMS.BLL.TRAIN_Pictrue PictrueBLL = new LMS.BLL.TRAIN_Pictrue();
List<LMS.Model.TRAIN_Pictrue> list = new List<LMS.Model.TRAIN_Pictrue>();
//遍历File表单元素
HttpFileCollection files = HttpContext.Current.Request.Files;
for (int iFile = 0; iFile < files.Count; iFile++)
{
//检查文件扩展名字
HttpPostedFile postedFile = files[iFile];
string fileName;
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName.ToLower() != "")
{
LMS.Model.TRAIN_Pictrue Pictrue = new LMS.Model.TRAIN_Pictrue();
string scurTypeName = fileName.Substring(fileName.LastIndexOf("."));
//初始化原图物理路径
string sGuid_phy = Guid.NewGuid().ToString();
string sUrl_phy = ConfigurationManager.AppSettings["PhysicsObjectPath"].ToString() + sGuid_phy + scurTypeName;
//初始化缩略图物理路径
string sGuid_web = Guid.NewGuid().ToString();
string sUrl_web = ConfigurationManager.AppSettings["PhysicsObjectPath"].ToString() + sGuid_web + scurTypeName;
postedFile.SaveAs(sUrl_phy);//保存原图
PTImage.ZoomAuto(postedFile, sUrl_web, 100, 100, "", "");//生成缩略图,并保存
//保存原图虚拟路径到数据库
Pictrue.path = ConfigurationManager.AppSettings["WebObjectPath"].ToString() + sGuid_phy + scurTypeName;
//保存缩略图虚拟路径到数据库
Pictrue.shrinkpath = ConfigurationManager.AppSettings["WebObjectPath"].ToString() + sGuid_web + scurTypeName;
Pictrue.parid = nId;
Pictrue.tables = "TRAIN_Hotel_MonthExam";
list.Add(Pictrue);
}
}
PictrueBLL.Add(list);
}
#endregion
希望对你有帮助!
全部回答
fileupload实现单图片上传,如果想多图片上传,你试试这个: &lt;tr&gt; &lt;td align="right" valign="top"&gt; 试卷照片: &lt;/td&gt; &lt;td align="left"&gt; &lt;div id="_container"&gt; &lt;input id="file1" type="file" name="file" runat="server" size="10" /&gt; &lt;/div&gt; &lt;/td&gt; &lt;td align="left" valign="bottom"&gt; &lt;input type="button" value="添加" onclick="addfile()" /&gt; &lt;/td&gt; &lt;/tr&gt; addfile()源码: //多文件上传,动态生成多个上传控件 function addfile() { var div = document.createelement("div"); var f = document.createelement("input"); f.setattribute("type", "file"); f.setattribute("name", "file"); f.setattribute("size", "10"); div.appendchild(f); document.getelementbyid("_container").appendchild(div); } 后台页面调用: #region 上传添加图片的方法 /// &lt;summary&gt; /// 上传添加图片的方法 /// &lt;/summary&gt; /// &lt;param name="nid"&gt;关联id&lt;/param&gt; private static void uploadandaddpictures(int nid) { lms.bll.train_pictrue pictruebll = new lms.bll.train_pictrue(); list&lt;lms.model.train_pictrue&gt; list = new list&lt;lms.model.train_pictrue&gt;(); //遍历file表单元素 httpfilecollection files = httpcontext.current.request.files; for (int ifile = 0; ifile &lt; files.count; ifile++) { //检查文件扩展名字 httppostedfile postedfile = files[ifile]; string filename; filename = system.io.path.getfilename(postedfile.filename); if (filename.tolower() != "") { lms.model.train_pictrue pictrue = new lms.model.train_pictrue(); string scurtypename = filename.substring(filename.lastindexof(".")); //初始化原图物理路径 string sguid_phy = guid.newguid().tostring(); string surl_phy = configurationmanager.appsettings["physicsobjectpath"].tostring() + sguid_phy + scurtypename; //初始化缩略图物理路径 string sguid_web = guid.newguid().tostring(); string surl_web = configurationmanager.appsettings["physicsobjectpath"].tostring() + sguid_web + scurtypename; postedfile.saveas(surl_phy);//保存原图 ptimage.zoomauto(postedfile, surl_web, 100, 100, "", "");//生成缩略图,并保存 //保存原图虚拟路径到数据库 pictrue.path = configurationmanager.appsettings["webobjectpath"].tostring() + sguid_phy + scurtypename; //保存缩略图虚拟路径到数据库 pictrue.shrinkpath = configurationmanager.appsettings["webobjectpath"].tostring() + sguid_web + scurtypename; pictrue.parid = nid; pictrue.tables = "train_hotel_monthexam"; list.add(pictrue); } } pictruebll.add(list); } #endregion 希望对你有帮助!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
唱歌1234567的音准怎么练
挂档没挂上,打齿轮了对车有什么影响
换外汇手续费多少?
味道之家怎么去啊,有知道地址的么
涡轮增压中冷器,有车友可以回答一下这个问题
给大众凌渡装倒车影像跟gps导航到哪安装最好
喜洋童车怎么去啊,有知道地址的么
在用一种四边形地转铺满地面而不留一点空隙的
龙眼盆栽有什么好处?比如绿萝可以吸收甲醛。
打老鼠没打死让他跑了会报复吗?
继续求帮忙
西恨山地址在什么地方,想过去办事
远处钟声传来孤寂不放手歌词找歌名
求助星际big game hunter地图的下载地址
2009学年第一学期期中杭州地区七校联考化学高
推荐资讯
用wifi建立一个局域网,实现手机与手机,电脑与
Though the price of the camera is OK,
印象网咖(摩尔店)地址有知道的么?有点事想过
CAN-TORP在哪里啊,我有事要去这个地方
请教各位专家:pvc70度材料是多少P的PVC料
泰国美妆直营店怎么去啊,我要去那办事
哎吆哎哎哎女生唱的什么歌曲
新贵办公楼怎么去啊,有知道地址的么
MG160/375-QWD型号采煤机滚筒直径是多少
考研数学线性代数和概率大题都考什么很多人都
我刚刚接触素描,想问一下素描中的视平线可以
苹果 macbook air mjvm2ch/a 好不好
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?