求.net网站后台 多图片上传功能实现

寂静的神经 2011-07-24 03:26:22
在网上查了一些,多用swfupload或者uploadify等flash控件实现,我用了uploadify但是不能获取批量上传后(比如说三个图片同时上传)的名称,我要插入数据库啊,我想的是将这三张图片名称用拼成一个字符串,用“|”分隔开后插入到数据库,但是我用uploadify只能获取一张图片的名称。

public string s_Img = null;
protected void Page_Load(object sender, EventArgs e)
{
SaveFile();
}
protected void btn_Submit_Click(object sender, EventArgs e)
{

}
protected void btn_Reset_Click(object sender, EventArgs e)
{

}
public void SaveFile()
{
try
{
//获取上传的文件数据
HttpPostedFile file = Request.Files["Filedata"];
string fileName = file.FileName;
string fileType = null;
//由于不同浏览器取出的FileName不同(有的是文件绝对路径,有的是只有文件名),故要进行处理
if (fileName.IndexOf(' ') > -1)
{
fileName = fileName.Substring(fileName.LastIndexOf(' ') + 1);
}
else if (fileName.IndexOf('/') > -1)
{
fileName = fileName.Substring(fileName.LastIndexOf('/') + 1);
}
fileType = Path.GetExtension(fileName).ToUpper();
//s_Img =s_Img.Append(DateTime.Now.ToString("yyyymmddhhMMss") + fileType + "|" );
s_Img = DateTime.Now.ToString("yyyymmddhhMMss") + fileType + "|" +s_Img;
//s = s + fileName;
//上传的目录
string uploadDir = "~/files/";
//上传的路径
string uploadPath = uploadDir + System.DateTime.Now.ToString("yyyymmddhhMMss") + fileType;
//保存文件
file.SaveAs(Server.MapPath(uploadPath));
//下面这句代码缺少的话,上传成功后上传队列的显示不会自动消失
//Response.Write("1");
//return (s_Img);
}
catch
{
//return(s_Img);
}
}


有用过的高手指教一二啊,或者给我个别的解决方案也可以,我不要只上传的,我是要用到网站后台,上传后还得考虑数据库的更新啊!
...全文
652 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
寂静的神经 2011-10-31
  • 打赏
  • 举报
回复
我自己实现了,http://www.cnblogs.com/kpsm/archive/2011/08/03/2126756.html
寂静的神经 2011-07-25
  • 打赏
  • 举报
回复
顶上去,求后台图片管理的flash上传控件及可以获取上传文件名并更新到数据库的方法~
心灵彩虹 2011-07-24
  • 打赏
  • 举报
回复
你说的是大文件上传的,这个flash一般都是flex或者falsh做的。需要flash编程人员。
心灵彩虹 2011-07-24
  • 打赏
  • 举报
回复
呵呵,我这里有个现成的,不过是买的别人的。
寂静的神经 2011-07-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 gefangliang 的回复:]

具体描述下你想要的效果。falsh上传吗?
引用 6 楼 kpsanmao 的回复:
引用 5 楼 gefangliang 的回复:

楼主到这个网址下载这个,这里有个网站的例子,附加数据库,然后用vs打开以后,首页最下面有后台管理,点击新闻管理,进去有个上传图片,更新的例子,我刚运行的没有问题,你去下载一下
网址:
http://www.51aspx.com/CV/TongYong……
[/Quote]
是的,就是flash上传,最好别用ajax,就是能同时选多张图片的~
心灵彩虹 2011-07-24
  • 打赏
  • 举报
回复
具体描述下你想要的效果。falsh上传吗?
[Quote=引用 6 楼 kpsanmao 的回复:]
引用 5 楼 gefangliang 的回复:

楼主到这个网址下载这个,这里有个网站的例子,附加数据库,然后用vs打开以后,首页最下面有后台管理,点击新闻管理,进去有个上传图片,更新的例子,我刚运行的没有问题,你去下载一下
网址:
http://www.51aspx.com/CV/TongYongSite/


恩,谢谢,我再看一下,你给我的网址里的效果不是我想要的。
[/Quote]
寂静的神经 2011-07-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gefangliang 的回复:]

楼主到这个网址下载这个,这里有个网站的例子,附加数据库,然后用vs打开以后,首页最下面有后台管理,点击新闻管理,进去有个上传图片,更新的例子,我刚运行的没有问题,你去下载一下
网址:
http://www.51aspx.com/CV/TongYongSite/
[/Quote]

恩,谢谢,我再看一下,你给我的网址里的效果不是我想要的。
心灵彩虹 2011-07-24
  • 打赏
  • 举报
回复
楼主到这个网址下载这个,这里有个网站的例子,附加数据库,然后用vs打开以后,首页最下面有后台管理,点击新闻管理,进去有个上传图片,更新的例子,我刚运行的没有问题,你去下载一下
网址:
http://www.51aspx.com/CV/TongYongSite/
心灵彩虹 2011-07-24
  • 打赏
  • 举报
回复
网站后台管理上传功能

html:
<asp:FileUpload ID="txtFile" runat="server" />
<asp:Button ID="btnup" runat="server" OnClick="btnup_Click1" Text="上传" />
c#:

if (txtFile.HasFile)//判断是否上传了文件
{
lblInfo.Text = "请您选择您要上传的文件..";
}
string filetext = Path.GetExtension(txtFile.PostedFile.FileName).ToLower();
if (filetext != ".jpg" && filetext != ".gif" && filetext != ".png")
{
lblInfo.Text = "上传的文件只能是*.jpg,*.gif,*.png格式的..";
return;
}
if (txtFile.PostedFile.ContentLength > 1000 * 1024)
{
lblInfo.Text = "上传的文件必须小于1000KB..";
return;
}
string strfilename = "(" + Guid.NewGuid().ToString() + ")" + filetext;
string filepath = "/FileUpload/News/Images/";
string datatime = DateTime.Now.ToString("yyyyMMdd");
string path = filepath + datatime + "/";
if (Directory.Exists(Server.MapPath(path)) == false)
{
Directory.CreateDirectory(Server.MapPath(path));
}
txtFile.SaveAs(Server.MapPath(path + "/" + strfilename));
lblInfo.Text = "文件上传成功..";
tu.Visible = true;
Image1.ImageUrl = path + strfilename;


更新代码

html代码:


<asp:FileUpload ID="txtFile" runat="server" />
<asp:Button ID="btnup" runat="server" OnClick="btnup_Click1" Text="上传" />


c#代码


Maticsoft.Model.NewsInfo newmodel = newbll.GetModel(1);
newmodel.ImageURL = Image1.ImageUrl;
newmodel.NewsContent = txtNewContent.Text.Trim();
newbll.Update(newmodel);

update方法:
public bool Update(Maticsoft.Model.NewsInfo model)
{
return dal.Update(model);
}
Update:
/// <summary>
/// 更新一条数据
/// </summary>
public bool Update(Maticsoft.Model.NewsInfo model)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("update NewsInfo set ");
strSql.Append("NewsTitle=@NewsTitle,");
strSql.Append("NewsKey=@NewsKey,");
strSql.Append("Write=@Write,");
strSql.Append("NewsTypeID=@NewsTypeID,");
strSql.Append("Fatime=@Fatime,");
strSql.Append("ImageURL=@ImageURL,");
strSql.Append("HitNum=@HitNum,");
strSql.Append("NewsContent=@NewsContent");
strSql.Append(" where NewsID=@NewsID");
SqlParameter[] parameters = {
new SqlParameter("@NewsID", SqlDbType.Int,4),
new SqlParameter("@NewsTitle", SqlDbType.VarChar,200),
new SqlParameter("@NewsKey", SqlDbType.VarChar,200),
new SqlParameter("@Write", SqlDbType.VarChar,200),
new SqlParameter("@NewsTypeID", SqlDbType.Int,4),
new SqlParameter("@Fatime", SqlDbType.DateTime),
new SqlParameter("@ImageURL", SqlDbType.Text),
new SqlParameter("@HitNum", SqlDbType.Int,4),
new SqlParameter("@NewsContent", SqlDbType.Text)};
parameters[0].Value = model.NewsID;
parameters[1].Value = model.NewsTitle;
parameters[2].Value = model.NewsKey;
parameters[3].Value = model.Write;
parameters[4].Value = model.NewsTypeID;
parameters[5].Value = model.Fatime;
parameters[6].Value = model.ImageURL;
parameters[7].Value = model.HitNum;
parameters[8].Value = model.NewsContent;

int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
wingsoftgf 2011-07-24
  • 打赏
  • 举报
回复
LZ是什么意思啊?



参考http://blog.csdn.net/zhoufoxcn/article/details/5765748http://blog.csdn.net/zhoufoxcn/article/details/5772351
寂静的神经 2011-07-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gefangliang 的回复:]
http://blog.csdn.net/zhoufoxcn/article/details/5765748http://blog.csdn.net/zhoufoxcn/article/details/5772351
[/Quote]

谢谢你,我去看一下,如果可以马上给分~

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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