求.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);
}
}


有用过的高手指教一二啊,或者给我个别的解决方案也可以,我不要只上传的,我是要用到网站后台,上传后还得考虑数据库的更新啊!
...全文
570 12 打赏 收藏 转发到动态 举报
写回复
用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]

谢谢你,我去看一下,如果可以马上给分~
自由宿主后台管理系统是一套通用后台管理系统,之所以给他加上“宿主”2个字,是因为这套系统本身没有自己的数据库,而必须依赖于其他数据库才能运行,自由指的是系统灵活性强,能够根据数据库表结构做一些简单的配置后系统就能够实现想要的功能。简单的说,就是系统没有根据特定的数据库来设计,你给他套上什么结构的数据库表,他就做什么样的事情。   自由宿主Asp.net网站通用后台管理系统特点如下: 1. 后台本身没有数据库,自己设计数据库后,与后台连接,配置好节点后无需二次开发,直接就可以实现对数据库增删改查功能; 2. 后台密码支持自定义加密/解密算法,可以在设置登录表的时候进行配置; 3. 后台编辑界面可以根据配置自动生成编辑器,同时会自动生成验证脚本; 4. 后台支持多表关联,列表查询时候会自动根据关联字段显示相应内容; 5. 兼容IE6 ,火狐浏览器等主流浏览器; 6. 对数据库表的操作,如增删改查操作只需要进行简单的设置即可完成,无需再进行任何编码实现。   自由宿主Asp.net网站通用后台管理系统3.2正式版更新功能: 1.修正edit.js内容验证无效的bug; 2.添加sqliste数据库支持; 3.修正编辑后返回列表丢失删除功能的Bug; 4.Main页面菜单显示改为json对象传输到前台,然后由menu.js脚本实现菜单展示功能,方便二次开发对界面修改,菜单可以控制允许一次展开多个或者只允许展开一个; 5.修正图片上传后缀名区分大小写的问题; 6.系统生成字符类型主键修改为GUID,主键字段长度至少需要为32位字符; 7.上传文件保存文件名修改为GUID,数据库相印字段长度至少需要为32位字符; 8.配置页面数据库表增加视图的显示; 9.增加省市县联动控件(包括省市县3级联动,省市2级联动和省市(县级可选)联动),通过使用Request[“_tzhp_字段名称”]获取省的区划编码,Request[“_tzhc_字段名称”]获取市的区划编码,Request[“_tzhr_字段名称”]获取区县的区划编码,使用Request[“字段名称”]获取选中的最后级区划编码(写入数据库值)。Area.js脚本为全国省市县名称和区划编码,其中_codeToObject(code)方法可以将区划编码转为区划对象,格式为: { p: {Code, Name, Level}, c: {Code, Name, Level}, r{Code, Name, Level}},其中p为省份信息,c为城市信息,r为区县信息; 10.在授权模式下,列表显示字段如为图片方式上传的,则可以直接显示图片,区划字段将显示为对应的区划名称,没有授权的情况下原样输出; 11.在授权模式下,标题栏将不显示“自由宿主xx”字样; 12.在授权模式下超级管理员后台可以通过配置文件增加功能链接; 13.tzh_tableInfo 和tzh_menuInfo表增加字段“strTbGroup varchar(32)”旧版本升级程序请手动在数据库中添加此列; 14.修正使用Access数据库多个表存在关联且有重复字段名情况下可能出现列表数据为空的情况;   数据库升级方式请参见 http://www.tzhtec.com/art/6f456394186.aspx
逐个模块给出以下说明: 一个用户只能在同一时间登陆一次,需要经过电脑ip验证,用户名和密码验证,全部通过才可以进入首页。 用户登录:首先进入首页,显示该用户今天上传的图片。 1.查看图片:显示该用 户上传的所有图片,显示内容:图像描述,图像大小,是否验证,上传时间,查看,删除 2.上传图片:用户可以上传图片,在上传时有预览的功能,如果数据库中已存在上传过的照片,则提醒用户已上传,否则进入等待验证页面,等待后台验证,若验证成功则显示上传的图像,如果失败则提醒用户是否继续等待验证 3.修改口令:用户可以修改自己的密码 4.退出系统:用户退出当前系统,注销 5.团队简介和客户服务主要是显示团队介绍和联系方式 管理员登陆:进入首页,显示今天上传的所有图片,显示内容:编号,id,图像描述,图像大小,是否验证,上传用户,ip,上传时间,查看,删除 1.查看用户:显示用户名,密码,增加时间,上传几张图片,删除 2.增加用户:包括用户名,密码 3.查找用户:根据输入的用户名进行模糊查询,显示内容:用户名,密码,添加时间,上传几张图片,删除 4.查看所有图片:显示编号,id,图像描述,图像大小,是否验证,上传用户,ip,上传时间,查看,操作,其中id,图像描述,图像大小,是否验证,上传用户,ip,上传时间字段具有排序功能 5.查找图片:可以根据用户名和上传日期进行查询 6.查看节点:显示IP地址,删除 7.增加节点:输入客户端的ip地址进行添加 8.退出系统:进行注销 9.团队简介和客户服务:主要是显示团队介绍和联系方式

110,534

社区成员

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

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

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