多文件上传问题:有一个File和input文本框,对应文件说明,如何实现,提交后如何获得input文本的值。

comszsoft 2006-05-29 08:51:31
孟子的只是实现了上传文件,而我还要价格文件说明的文本框,有做过的请指教。
...全文
465 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
comszsoft 2006-06-03
  • 打赏
  • 举报
回复
问题解决,可以同时添加相应的input,提交后Request[inputname]得到提交值,HttpFileCollection得到文件集合。结帖。
  • 打赏
  • 举报
回复
放一个<asp:dropdownlist autopostback=true />写一个循环从1-20,该控件回发时,往页面上动态加载dropdownlist选定值的N个htmlinputfile和textbox,并赋id属性
提交时,循环判断每个htmlinputfile是否为空,内容类型是否正确,扩展名是否正确,再判断textbox是否为空.
comszsoft 2006-05-31
  • 打赏
  • 举报
回复
那考虑用折中的办法,不必给每个文件加说明,只要一个文本控件对所有的上传文件进行说明,这样,孟子的上传程序基本不用改了。这是最省事的办法啦。

我按照asp的方法 Request.Form["remark"]得到和asp一样的结果,如:
说明1,说明2,说明3
就是所有的内容用 , 隔开,而且中间没有任何空格,这显然难以用split把他们各个文本框的内容独立开。有高人有什么好办法吗? 我的解决办法是提交前触动 一个 js 函数,改变他们的name 或者他们的 value ,以便于区分,不过处理起来还是觉得有点别扭。
mail_ricklee 2006-05-31
  • 打赏
  • 举报
回复
NickLee.Common.S..什么的Upload
里面可以生成一个集合可以以name=多少获取对应的文件描述
comszsoft 2006-05-31
  • 打赏
  • 举报
回复
楼上的,我知道孟子的那个是多文件上传,我要实现的不仅是文件上传,还要得到关于文件的说说明,如下:

文件: 说明:
file textarea
file textarea
file textarea
......
这样该如何实现阿
gaoshanshan 2006-05-31
  • 打赏
  • 举报
回复
孟子那个就是多文件上传,你自己好好看看
comszsoft 2006-05-31
  • 打赏
  • 举报
回复
谢谢楼上的,不过我没看懂你的代码。这个问题还是没有解决。我搜索也只有孟子的那个单独文件的,我说的这种情况没有找到,看来要好好想想怎么解决这个问题。
大家说说自己的思路。
活靶子哥哥 2006-05-30
  • 打赏
  • 举报
回复
你要给每个文件一个说明信息 我估计要放很多input了

贴一段我偷懒的代码,
我把file input 名称 都按照特定的格式命名 file_图片宽度度x高度

客户端判断大小 也for循环 分别判断每个图片是否和它的input id中的高宽一致

服务器端代码


private void AddImage(Control ctl ,string name)
{
if(ctl is HtmlInputFile)
{
HtmlInputFile input = ctl as HtmlInputFile;
string width = input.ClientID.Split('_')[1].Split('x')[0];
string height = input.ClientID.Split('_')[1].Split('x')[1];
string dirPath = HttpContext.Current.Server.MapPath(
string.Concat(
Globals.AppPath,
SiteConfiguration.GetConfig().PhotoFolder,
galleryId)
);

if(!Directory.Exists(dirPath))
{
Directory.CreateDirectory(dirPath);
}

string fileName = string.Format("{0}_{1}_{2}.{3}",name,width,height,"png");
string ioPath = HttpContext.Current.Server.MapPath(
string.Concat(
Globals.AppPath,
SiteConfiguration.GetConfig().PhotoFolder,
galleryId,
System.IO.Path.DirectorySeparatorChar,
fileName
)
);

input.PostedFile.SaveAs(ioPath);
}
else
{
if (ctl.Controls.Count > 0)
{
foreach (Control cc in ctl.Controls)
{
AddImage( cc , name);
}
}

}
}

希望咱能碰撞点灵感的火花 顺便关注此帖。
comszsoft 2006-05-30
  • 打赏
  • 举报
回复
谢谢孟子和各位的回复,对于同名控件<input type="text" name=..>,asp用request("x"),然后他们之间用 " ,"隔开的,asp。net也要这么做吗?有没有更好的的办法,像 foreach 这么好用的东西。
孟子E章 2006-05-29
  • 打赏
  • 举报
回复
如果是<input name=x>直接
Response.Write(Request.Form["x"])
antiking 2006-05-29
  • 打赏
  • 举报
回复
TextBox1.Text="$78.00";
antiking 2006-05-29
  • 打赏
  • 举报
回复
TextBox1.Text="$78.00";
孟子E章 2006-05-29
  • 打赏
  • 举报
回复
文本框?如果是TextBox控件直接得到即可

62,046

社区成员

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

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

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

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