1) 没有经过美化,先把功能做简要介绍:
点击增加,最多上传8张;然后点击上传,这样全部传到服务器中##

2)点击增加图片---前台的增加按钮的JS:
<script type="text/javascript">
var i = 1;
function addFile() {
if (i < 8) {
var str = '<br><input type="file" name="file" runat="server" style="width:300px"/>描述:<input name="text" type="text" style="width:150px" maxlength="20"/>';
document.getElementById("Myfile").insertAdjacentHTML("beforeEnd", str); //insertAdjacentHTML("位置",要传入的字符串);
} else {
alert('您一次最多只能上传8张图片!');
}
i++;
}
</script>
3) 点击开始上传--后台CS代码
protected void btnUpload_Click(object sender, EventArgs e)
{
lbMessage.Text = "";
lbMessage.Visible = false; //前台页面的开始上传提示信息;
HttpFileCollection files=System.Web.HttpContext.Current.Request.Files; //**得到前台页面的所有File文件;
StringBuilder sb = new StringBuilder(""); //用来记录该图片的大小;格式;是否正确;
string[] rd=Request.Form[1].Split(',');
string albumid=ddlAlbum.SelectedValue.Trim();
for (int i = 0; i < files.Count; i++)
{
if (files[i].FileName.Length > 0)
{
HttpPostedFile postedfile = files[i]; //对上传的第i个文件进行处理;
if (postedfile.ContentLength / 1024 > 1024) //ContentLength是以字节为单位,单个文件不能大于1024K
{
sb.Append(Path.GetFileName(postedfile.FileName) + "--不能大于1024k<br>");
break;
}
string fex = Path.GetExtension(postedfile.FileName);
if (fex != ".jpg" && fex != ".JPG" && fex != ".gif" && fex != ".GIF")
{
sb.Append(Path.GetFileName(postedfile.FileName) + "--图片格式不对,只能是jpg或者gif<br>");
break;
}
if (sb.Length <= 0)
{
string dirname = "pic00" + ddlAlbum.SelectedValue.Trim();
string dirpath = Server.MapPath("pic");
dirpath = dirpath + @"\" + dirname; //完整路径=目录+"pic00"+图片集;
if (Directory.Exists(dirpath) == false)
{
Directory.CreateDirectory(dirpath); //创建路径
}
Random ran = new Random();
int name = 1;
for (int j = 0; j < files.Count; j++) //**分水岭,上面只是对路径的处理,下面的则是文件名的处理;
{
HttpPostedFile file = files[i];
string fileName = "";
string fileExtention = "";
string picPath = "";
fileName = Path.GetFileName(file.FileName);
string stro = ran.Next(100, 1000000).ToString() + name.ToString();
string newName = DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + stro;//命名新的图片
if (fileName.Length > 0) //有文件才执行长传操作,然后保存到DB中
{
fileExtention = Path.GetExtension(file.FileName);
string ppath = dirpath + @"\" + newName + fileExtention; //图片地址=完整路径+新定义的文件名+后缀名
file.SaveAs(ppath); //图片地址;
string fjname = fileName;
picPath = "PicBase" + @"\" + dirname + "\\" + newName + fileExtention;
}
// AddPicture(picPath, rd[i], albumid); //将图片信息保存到DB中;
if (name == 1)
{
// upFIrstImg( albumid,picPath);
}
name = name + 1;
}
}
}
else
{
lbMessage.Text = sb.ToString();
lbMessage.Visible = true;
}
}
}

浙公网安备 33010602011771号