请各位帮心解决一个ASP.NET文件上传的问题
需求是这样的:表:create table images('img' text NOT NUOO default '')
现在我有N个input来上传文件(动态的,点击添加上传文件,就要吧再增加上传一个文件),问题是我要把我上传的这N个文件的文件名,用分隔符分开,存入数据库images表的img字段,程序应该怎么写如:aa.jpg|bb.jpg|cc.jpg,望各们帮忙解决,谢谢.
产品图片:
<input type="file" size="50" name="File" />
<input type="button" value="添加文件(Add)" onclick="addFile()" />
<script type="text/javascript">
function addFile() {
var div = document.createElement("div");
var f = document.createElement("input");
f.setAttribute("type", "file")
f.setAttribute("name", "File")
f.setAttribute("size", "50")
div.appendChild(f)
var d = document.createElement("input");
d.setAttribute("type", "button")
d.setAttribute("onclick", "deteFile(this)");
d.setAttribute("value", "移除")
div.appendChild(d)
document.getElementById("_container").appendChild(div);
}
function deteFile(o) {
while (o.tagName != "DIV") o = o.parentNode;
o.parentNode.removeChild(o);
}
</script> --------------------编程问答-------------------- 你应该在.CS中取到上传的路径,截取到文件名,一起存放到一个string变量里面 --------------------编程问答-------------------- 你这JS跟 你取值无关,你要的是才CS里面代码操作 --------------------编程问答-------------------- 我试过还是不行,总是得到的是第一个文件名 --------------------编程问答--------------------
能给我写份代码出来吗? --------------------编程问答-------------------- 遍历file --------------------编程问答-------------------- 我试过用数组来做,把每一个文件名,存入数组,然后再把数组连接起来 --------------------编程问答--------------------
--------------------编程问答-------------------- 谢谢你,解决我的困惑! --------------------编程问答-------------------- 循环上传么
protected void UploadButton_Click(object sender, EventArgs e)
{
string url = "";
///'遍历File表单元素
HttpFileCollection files = HttpContext.Current.Request.Files;
/// '状态信息
System.Text.StringBuilder strMsg = new System.Text.StringBuilder("您输入的用户名是:" + TextBox1.Text + "<br/>");
strMsg.Append("上传的文件分别是:<hr color='red'/>");
for (int iFile = 0; iFile < files.Count; iFile++)
{
///'检查文件扩展名字
HttpPostedFile postedFile = files[iFile];
string fileName, fileExtension;
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != "")
{
fileExtension = System.IO.Path.GetExtension(fileName);
strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>");
strMsg.Append("上传文件的文件名:" + fileName + "<br>");
strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>");
///'可根据扩展名字的不同保存到不同的文件夹
///注意:可能要修改你的文件夹的匿名写入权限。
///
string imgUrl = "admin/UpImage/" + fileName;
url += imgUrl + "|";
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("~/admin/UpImage/") + fileName);
}
}
Images img = new Images();
img.Title = TextBox1.Text.Trim();
img.ImgUrl = url.Substring(0, url.Length - 1);
img.Degree = 0;
img.Time = Convert.ToString(DateTime.Now.ToString("yyyy-MM-dd"));
img.ImgType.Id = Convert.ToInt32(DropDownList1.SelectedValue);
img.Content = FCKeditor1.Value;
int index=url.IndexOf('|',0 );
img.ShowImg=url.Substring(0, index);
int i=ImagesManage.AddImages(img);
if (i > 0)
{
DB();
Response.Write("<script>alert('上传成功!');window.location='strat.aspx'</script>");
}
else
{
Response.Write("<script>alert('上传失败!');window.location='Error.aspx'</script>");
}
}
用变量在追加文件名字。 --------------------编程问答-------------------- 经过chai1338的耐心解答,我现在已经解决了问题,感谢各位的热心帮助. --------------------编程问答--------------------
- -
补充:.NET技术 , ASP.NET