重新诚心的问,点button,弹出FileUpload选择文件,然后上传的完整思路

zhangwuji154 2010-11-01 02:27:50
不要再给我贴个链接,JQuery什么的了,我现在就想用这个简单点,实现。
愿意帮忙的大哥讲讲思路吧。

FileUpload是隐藏的,点html的button

function OpenUploadDialog(objid)
{
var obj = document.getElementById(objid);
if(obj)
obj.click();
}
可以调用上面函数,弹出选择文件,而且可以把选择的文件路径放入FileUpload。
但是上传文件用到的
SaveAs,都是C#代码,这个要怎么调用呢?网上搜到的例子都不适用于这里。
好多人说用Ajax什么的,但我现在没时间装那个,学那个。我只想用最基本的东西,这难道很难吗?


还有一种就是我用C#的Button
btnUpload1.Attributes.Add("onclick", "return OpenUploadDialog('FileUpload1')");
加了这个以后,是可以弹出选择文件对话框,但选择了文件之后,无法把选择的文件及路径显示在FileUpload控件上,不知道为什么

本来想发100分的,只剩71分了,全部送出,
...全文
495 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangwuji154 2010-11-01
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20070724/14/c5141fed-ab24-4b1e-9336-a3aa6b2c3c39.html
这也是一位亲人,最后和我一样,不得不妥协,采用手点"浏览"了
zhangwuji154 2010-11-01
  • 打赏
  • 举报
回复
终于碰见亲人了
http://topic.csdn.net/u/20090305/10/054d6e01-ca11-495f-86f1-8e74fd9fc796.html
这个人和我现在的想法一样,遇到的问题也一样了。
zhangwuji154 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 xiaoyuan245437 的回复:]
fileupload 不可以吗??
[/Quote]
不说别的,就是FileUpload左边的编辑框怎么隐藏?
"浏览"两个字怎么变成"上传"?
孟子E章 2010-11-01
  • 打赏
  • 举报
回复
非IE不支持隐藏type=file框进行上传,可以考虑采用flash,silverlight等
Xiaoyuan245437 2010-11-01
  • 打赏
  • 举报
回复
还是你的上传有什么有个性的地方??
Xiaoyuan245437 2010-11-01
  • 打赏
  • 举报
回复


fileupload 不可以吗??
paual779 2010-11-01
  • 打赏
  • 举报
回复
http://d.download.csdn.net/down/2694550/zhangpan0207
去下载 , 看看!
truecoffeefox 2010-11-01
  • 打赏
  • 举报
回复
truecoffeefox 2010-11-01
  • 打赏
  • 举报
回复
你思路说的听明白了,哈哈
玩笑,用swfupload可以满足你要求,下载文件中带例子
zhangwuji154 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 xiaoyuan245437 的回复:]
问题是什么?
[/Quote]
问题是我想做如下图的上传文件

没有其它按钮,就是点上传文件,就弹出选择文件,用户选了文件,就上传,没选,就不上传。
不好理解吗?
Xiaoyuan245437 2010-11-01
  • 打赏
  • 举报
回复

问题是什么?
zhangwuji154 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 li309000011 的回复:]

我没太看明白 你执行完JS以后不就选择你要上传的文件了么
然后在后置代码里写saveAs就可以了


你要获取文件在客户端的物理地址么?
[/Quote]
关键是写在哪里,我要选完就直接上传,不要用户再点"上传",再上传
poppinH 2010-11-01
  • 打赏
  • 举报
回复
好了...LZ..你在看看...!JS代码里有控制新页面大小的语句.

html里的几句JS是把子页面上的数据回传到父页面上的..

那个上传的语句都好理解的..你看看先.

zhangwuji154 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 poppinh 的回复:]

1.html按钮
HTML code
<input type="text" runat="server" id="funame" name="funame" value="单击上传...." readonly="readonly" onclick="op(this);"/>



2.js代码:
JScript code
function op()
{
window.open……
[/Quote]
我研究研究吧
li309000011 2010-11-01
  • 打赏
  • 举报
回复
我没太看明白 你执行完JS以后不就选择你要上传的文件了么
然后在后置代码里写saveAs就可以了


你要获取文件在客户端的物理地址么?
poppinH 2010-11-01
  • 打赏
  • 举报
回复
上传后台!

protected void btnUpload_Click(object sender, EventArgs e)
{
string fullname = this.fu.PostedFile.FileName.ToString();
if (fullname.Length > 0)
{
FileInfo f = new FileInfo(fullname);
string fname = f.Name.ToString();//获取原始文件名称
string f_ex = f.Extension.ToString().ToLower();//获取文件的类型
string length = f.Length.ToString();//获取文件的大小
string newname = DateTime.Now.Millisecond.ToString() + length + fname;//定义文件的新名称用于保存在服务器上
string savepath = Server.MapPath("annex");//文件存储的路径
fu.SaveAs(savepath + "\\" + newname);//将以新文件名保存到服务器上
string scf01x = msg.addscf(newname,f_ex, savepath, fname);
if (scf01x.Length > 0)
{
this.lblOldName.Text = fname;
this.t_newname.Text = scf01x;
this.lblMsg.Text = "----<font color=green>上传成功!</font>";
this.btnUpload.Enabled = false;
// this.btnClose.Disabled = false;
if (f_ex.Trim() == ".jpg")
{
this.im_fujian.Visible = true;
//im_fujian.ImageUrl = savepath.Trim() + "\\" + newname.Trim();
im_fujian.ImageUrl = "annex/" + newname.Trim();
strimg = this.im_fujian.ImageUrl;

}
}
else
{
this.lblMsg.Text = "----<font color=green>上传失败!</font>";
}
}
else
{
this.lblMsg.Text = "----<font color=red>请选择上传的附件!</font>";
}
scf01 = this.t_newname.Text;
oldname = this.lblOldName.Text;

}
zhangwuji154 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 whb147 的回复:]

luguo
不知道是你没有说清楚还是我没有看明白
我是晕了
[/Quote]
简单的说,就是我想放一个Button,上面写"上传文件",我一点这个按钮,弹出一个选择文件的对话框,选完文件,点"确定",就开始上传了。
这不简单吗?
poppinH 2010-11-01
  • 打赏
  • 举报
回复
1.html按钮
<input type="text" runat="server" id="funame" name="funame" value="单击上传...." readonly="readonly"  onclick="op(this);"/>



2.js代码:
function op()
{
window.open('fujian.aspx','x','height=320,width=400')
}


3.上传页面前台:
<head runat="server">
<title>莱克信息发布平台_上传附件</title>
<link rel="stylesheet" href="css/css.css" type="text/css" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function tj(scf,oldname)
{
if (scf =="")
{
alert("您还没上传附件!---选择附件后请点提交!");
return false
}
if (scf !="")
window.opener.document.getElementById("t_scb07").value=scf;
window.opener.document.getElementById("funame").value=oldname;
window.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<table cellpadding="0" cellspacing="0" border="0" style="margin-top:12px;">
<tr>
<td> 上传附件:</td>
<td style="text-align:center; line-height:40px; height:40px;"><asp:FileUpload ID="fu" runat="server" Width="198px" Height="23px" />
<asp:Button ID="btnUpload" runat="server" Text=" 上 传 " OnClick="btnUpload_Click" /></td>
</tr>
<tr>
<td colspan="2" style="text-align:center; line-height:40px; height:40px;">
<input type="button" value=" 提 交 " id="btnClose" onclick="tj('<%=scf01 %>','<%=oldname %>');" />
</td>
</tr>
</table>
<asp:TextBox runat="server" ID="t_newname" Visible="false"></asp:TextBox>
<asp:Label ID="lblOldName" runat="server"></asp:Label>
<asp:Label ID="lblMsg" runat="server"></asp:Label>
<a href="<%=strimg %>" target="_blank">
<asp:Image runat="server" ID="im_fujian" Visible="false" ToolTip="点击查看大图" Width="164" Height="112" />
</a>
</form>
</body>
</html>
zhangwuji154 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qingfeng_wu 的回复:]

FileUpload上本来就显示不了路径,这个事控件里面的机制,如果你想研究,自己看源码。
[/Quote]

这不就是显示路径了?
whb147 2010-11-01
  • 打赏
  • 举报
回复
luguo
不知道是你没有说清楚还是我没有看明白
我是晕了
加载更多回复(6)

62,041

社区成员

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

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

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

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