98分思路1分解决方案1分code!关于文件上传!

山茶树和葡萄树 2009-10-29 11:10:19
①asp.net
②如图:







点一个“增加上传”→ 增加一行上传……
点击“上传”将多个行的信息保存的Access数据库,(一个图片地址[路径]、图片拍摄人),同时图片上传到项目根文件下“files”文件夹,不要Flash实现,最好不要JS实现……

③我的邮箱www.daxiang668@126.com

④我的QQ:270064839

⑤敬候佳音&静候佳音!

⑥解决问题,诚送Winform程序界面美化第三方一套,囊中羞涩,只有此物赠予勇士!

在做正事,还是别“帮顶”、“学习”、“偶是打酱油的”、“接分”……拍砖可以……(也没有什么可以拍的……)
...全文
316 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢大家……O(∩_∩)O~
niitnanfeng 2009-10-31
  • 打赏
  • 举报
回复
楼上的大部分都已经说了,还有个帖子是用ashx实现的,楼主你可以在论坛里搜搜看。
lhy3385 2009-10-31
  • 打赏
  • 举报
回复
我就在一个小公司上班,这基本上也没有多少活,卖的软件都是以前开发好的,就是根据需求不同简单的改改。没有什么意思。想出去看看
happy664618843 2009-10-31
  • 打赏
  • 举报
回复
楼上都回答了 关注 友情帮顶
lcglvgn 2009-10-31
  • 打赏
  • 举报
回复
学习 期待好的解决方案
zhouzangood 2009-10-31
  • 打赏
  • 举报
回复
友情幫頂
wappibz 2009-10-31
  • 打赏
  • 举报
回复
帮顶”、“学习”、“偶是打酱油的”、“接分”

就不拍砖了
justdefend 2009-10-31
  • 打赏
  • 举报
回复
学习javascript代码
  • 打赏
  • 举报
回复
谢谢lizhengdao1314,正在弄BulletedList……
me_child 2009-10-30
  • 打赏
  • 举报
回复
mark
xingshungames 2009-10-30
  • 打赏
  • 举报
回复
学习
甩尾儿Boy 2009-10-30
  • 打赏
  • 举报
回复
学习
lizhengdao1314 2009-10-30
  • 打赏
  • 举报
回复
这是我的上传代码:但你自己要改下。
protected void upimg()
{
HttpFileCollection uploadimg = HttpContext.Current.Request.Files;
string filepath = Server.MapPath("./") + "UploadFiles";
int upfile = uploadimg.Count;
Random r = new Random(); string newpath = "http://";
for (int i = 0; i < uploadimg.Count; i++)
{
string ex = Path.GetExtension(Request.Files[i].FileName).ToLower(); string filename;
if (".jpg.gif.png.bmp".Contains(ex) && ex!="")
{
HttpPostedFile userimg = uploadimg[i];
if (userimg.ContentLength > 0)
{
filename = userimg.FileName.Substring(userimg.FileName.LastIndexOf("\\") + 1);
filename = DateTime.Now.ToString("yyyyMMddHHmmss") + r.Next(1000, 1999) + i.ToString() + ex;
//filepath.Insert(filename);
userimg.SaveAs(filepath + "\\" + filename);
filename = method.waterimg(filepath + "\\" + filename,i);//生成水印
System.Drawing.Image img = System.Drawing.Image.FromFile(filepath + "\\" + filename);
method.createminimg(img, filename);//生成图片缩略图
img.Dispose();
if(i<4){
if (filepath.Contains("d:"))
{
newpath = filepath.Replace("d:", "http://localhost");
pic[i] = "";

}
newpath = newpath.Replace("\\", "/");
pic[i] = newpath + "/" + filename;}//数组存上传后的图片路径
}

}
}
}
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 zhoufoxcn 的回复:]
像这种问题一般都是通过js解决的。


之余那种公司只有一个程序员的话,说了其实也没有什么用,一改变不了现状;二成为自己畏难的借口;三反而平添怨气。

公司小可以更锻炼人。
[/Quote]
学习了,很好的教诲,谢谢您……
云中雁荡山 2009-10-30
  • 打赏
  • 举报
回复
多文件上传功能,主要用javascript动态增加FileUpload控件的个数。上传的时候也可以用js来判断,提交
到服务器,然后解决!
lizhengdao1314 2009-10-30
  • 打赏
  • 举报
回复
hf.Value = numFU.ToString(); 是没有用的代码,我忘注释掉它
lizhengdao1314 2009-10-30
  • 打赏
  • 举报
回复
我以做过,单击增加按钮,自动增加FileUpload控件,主要是通过动态生table,再在此tabel中生成FileUpload控件,当然为了无刷新,我还用了AJAX.
前台代码如下:
<asp:Button ID="Button1" runat="server" Text="增加" OnClick="Button1_Click1" />//生成动态FileUpload按钮
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="清空" />清空所有动态生成的FileUpload按钮

<table id="TableFileUpload" runat="server">
//在此动态生成FileUpload
</table>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>//用户输入想生成多少个FileUpload的数量
<asp:Button ID="Button3" runat="server" Text="清空一个" OnClick="Button3_Click" />//一个一个地清除动态FileUpload按钮,但我还没有实现

后台代码如下:主要是后台代码,你自己看下,不过一个一个地清空动态生成的FileUpload,还没有实现,你看看有什么办法实现,实现了的话,也告诉我一声哦。
动态生成FileUpload比较简单,你自己好好看下。
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class nomastest : System.Web.UI.Page
{
public int numFU = 1;//记录现在生成的FileUpload的编号
protected void Page_Load(object sender, EventArgs e)
{


}

protected void AddFileUpload()
{
ArrayList arraylist = new ArrayList();
TableFileUpload.Rows.Clear();
GetFileUpload();
HtmlTableRow tbRow = new HtmlTableRow();
HtmlTableCell rigCell = new HtmlTableCell();
rigCell.InnerText = "上传详细图片" + numFU.ToString();
rigCell.Width = "115";
HtmlTableCell tbCell = new HtmlTableCell();
tbCell.Controls.Add(new FileUpload());
tbRow.Controls.Add(rigCell);
tbRow.Controls.Add(tbCell);
TableFileUpload.Controls.Add(tbRow);
SetFileUpload();
}
protected void GetFileUpload()
{
ArrayList arraylist = new ArrayList();
if (Session["FilesControls"] != null)
{
arraylist = (System.Collections.ArrayList)Session["FilesControls"];
for (int i = 0; i < arraylist.Count; i++)
{
HtmlTableRow tabRow = new HtmlTableRow();
HtmlTableCell tabCell = new HtmlTableCell();
HtmlTableCell rigCell = new HtmlTableCell();
rigCell.InnerText = "上传详细图片" + (i + 1).ToString();
tabCell.Controls.Add((System.Web.UI.WebControls.FileUpload)arraylist[i]);
tabRow.Controls.Add(rigCell);
tabRow.Controls.Add(tabCell);
TableFileUpload.Rows.Add(tabRow);
numFU = i + 2;
}
hf.Value = numFU.ToString();
}
}
protected void SetFileUpload()
{
ArrayList arraylist = new ArrayList();
foreach (Control C in TableFileUpload.Controls)
{
if (C.GetType().ToString() == "System.Web.UI.HtmlControls.HtmlTableRow")
{
HtmlTableCell tabCell = (HtmlTableCell)C.Controls[1];
foreach (Control control in tabCell.Controls)
{
if (control.GetType().ToString() == "System.Web.UI.WebControls.FileUpload")
{
FileUpload f = (FileUpload)control;
f.Width = 300;
arraylist.Add(f);
}
}
}
}
Session.Add("FilesControls", arraylist);
}
protected void Button1_Click1(object sender, EventArgs e)
{
if (TextBox1.Text != "")
{
int counts = Convert.ToInt32(TextBox1.Text);
for (int i = 0; i < counts; i++)
{
AddFileUpload();
}
TextBox1.Text = "";
}
else
{
AddFileUpload();
}
}
protected void ClearFU()
{
TableFileUpload.Rows.Clear();
}
protected void Button2_Click(object sender, EventArgs e)
{
ClearFU();
Session.RemoveAll();
Session.Abandon();
}
protected void RemoevFU()
{
int indx, t; //= Convert.ToInt32(hf.Value);
indx = TableFileUpload.Rows.Count;
for (int i = 0; i <= TableFileUpload.Rows.Count - 1; i++)
{
t = TableFileUpload.Rows.Count;
// Remove the cells from the first column.
TableFileUpload.Rows[i].Cells.RemoveAt(0);

}

}
protected void Button3_Click(object sender, EventArgs e)
{
RemoevFU();
}

}
周公 2009-10-30
  • 打赏
  • 举报
回复
像这种问题一般都是通过js解决的。


之余那种公司只有一个程序员的话,说了其实也没有什么用,一改变不了现状;二成为自己畏难的借口;三反而平添怨气。

公司小可以更锻炼人。
  • 打赏
  • 举报
回复
我不仅仅是多文件上传,关键是还有文件的相关描述信息,正在整那个上传控件……公司就我一个程序员,又刚出来……好难呀……没有经验……全是学院派的东西,

比如,我在郑健斑竹那里请教的一个问题:“就像发布新闻信息一样,从数据库绑定文章标题,之后点击显示相关信息,就像新闻网一样,左侧是一竖排导航的文章标题,右边是显示点击后的文章信息……在公司就我一个程序员,没有人带,就只有冒昧打扰您了”。
lgaimin 2009-10-30
  • 打赏
  • 举报
回复
难道不能用第三方控件么?多方便..
加载更多回复(16)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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