50分加急求救文件上传给我弄成了日期!!!!!!!!!!!!!!!!!!

liuhong_20 2009-04-16 02:27:09
我上传文件 老板要求显示文件的原有名称!!!

可我这一上传 文件名就成日期了,我改为名称,但又上传不上文件夹了 以下是代码,老大们帮我看看




protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
if (this.uploadfile.PostedFile.FileName.Equals("") || Request["formname"] == null || Request["editname"] == null || Request["uppath"] == null)
{
return;
}
else
{
string _formname = Request["formname"];
string _editname = Request["editname"];
string _uppath = Request["uppath"];
string _filelx = Request["filelx"];
string _regex = "";

//Regex test = new Regex(_regex);

Regex test = new Regex(@"^.+\.(rar)$");

string extension = System.IO.Path.GetExtension(uploadfile.FileName);
//if (test.IsMatch(uploadfile.PostedFile.FileName) == true )
//{

if (extension == ".rar" || extension == ".doc" || extension == ".xls" || extension=="zip")
{

ClientScriptManager cs = Page.ClientScript;

string imagesfolder = _uppath;
string filename = UpLoadFile(uploadfile, imagesfolder);
string apurl = Request.Url.ToString();
string apurl2 = Request.CurrentExecutionFilePath;
string tempurl = apurl.Substring(0, apurl.IndexOf(apurl2));
string appurl = Request.ApplicationPath;
string hurl = "";
if (appurl.Length == 1)
hurl = /*appurl + */filename.Replace("~/", "");
else
hurl = /*appurl + "/" +*/ filename.Replace("~/", "");
string imgpreview = tempurl + hurl;

cs.RegisterClientScriptBlock(this.GetType(), "tt", "window.opener.document." + _formname + "." + _editname + ".value='" + hurl.Replace("../", "") + "';", true);
cs.RegisterClientScriptBlock(this.GetType(), "tt2", "window.alert('文件上传成功!请不要修改生成的链接地址!');window.close();", true);
lblinfo.Text = "文件上传成功!<a href=\"\">重新上传</a>";

}
else
{
lblinfo.Text = "只能上传doc,xls,rar,zip!<a href=\"\">重新上传</a><script>parent.document.all('divProcessing').style.display='none';</script>";

}
//else
//{
// lblinfo.Text = "您上传的文件类型不正确!<a href=\"\">重新上传</a><script>parent.document.all('divProcessing').style.display='none';</script>";
//}
}
}
/// <summary>
/// 文件上传
/// </summary>
/// <param name="fileupload">文件上传实例</param>
/// <returns>保存的文件名称</returns>
public static string UpLoadFile(FileUpload fileupload, string Folders)
{
string fullname = fileupload.PostedFile.FileName;
if ((fullname == null) || (fullname.Equals("")))
return "";
string huozui = fullname.Substring(fullname.LastIndexOf("."));
string filename = GetFileName();
string p1 = Folders + filename + huozui;
//Folders + fullname.Substring(fullname.LastIndexOf("\\") + 1);
string path = System.Web.HttpContext.Current.Server.MapPath(p1);

if (System.IO.File.Exists(path))
System.IO.File.Delete(path);
fileupload.PostedFile.SaveAs(path);
return p1;
}
public static string GetFileName()
{
System.Threading.Thread.Sleep(1000);
string str1 = System.DateTime.Now.Year.ToString() + "-";

if ((System.DateTime.Now.Month).ToString().Length < 2)
{
str1 += "0" + System.DateTime.Now.Month.ToString() + "-";
}
else
{
str1 += System.DateTime.Now.Month.ToString() + "-";
}

if ((System.DateTime.Now.Day).ToString().Length < 2)
{
str1 += "0" + System.DateTime.Now.Day.ToString() + "-";
}
else
{
str1 += System.DateTime.Now.Day.ToString() + "-";
}

if ((System.DateTime.Now.Hour).ToString().Length < 2)
{
str1 += "0" + System.DateTime.Now.Hour.ToString() + "-";
}
else
{
str1 += System.DateTime.Now.Hour.ToString() + "-";
}

if ((System.DateTime.Now.Minute).ToString().Length < 2)
{
str1 += "0" + System.DateTime.Now.Minute.ToString() + "-";
}
else
{
str1 += System.DateTime.Now.Minute.ToString() + "-";
}

if ((System.DateTime.Now.Second).ToString().Length < 2)
{
str1 += "0" + System.DateTime.Now.Second.ToString();
}
else
{
str1 += System.DateTime.Now.Second.ToString();
}

return str1;
}




页面上的




<form id="myform" runat="server" ><div id="esave" style="position:absolute; top:18px; left:40px; z-index:10; visibility:hidden">
<TABLE WIDTH=340 BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR><td width=20%></td>
<TD bgcolor=#104A7B width="60%">
<TABLE WIDTH=100% height=120 BORDER=0 CELLSPACING=1 CELLPADDING=0>
<TR>
<td bgcolor=#eeeeee align=center><font color=red>正在上传文件,请稍候...</font></td>
</tr>
</table>
</td><td width=20%></td>
</tr></table></div>
<table width="400" border="1" cellspacing="0" cellpadding="3" align="center" bordercolordark="#CCCCCC" bordercolorlight="#000000">
<tr bgcolor="#CCCCCC">
<td height="22" align="left" valign="middle" bgcolor="#CCCCCC" width="400"> 文件上传

</td>
</tr>
<asp:Label ID="lblinfo" runat="server">
<tr align="center" valign="middle">
<td align="left" id="upid" height="80" width="400"> 选择文件:

<asp:FileUpload ID="uploadfile" runat="server" Width="80%" /><br />


</td>
</tr>
<tr align="center" valign="middle" bgcolor="#eeeeee">
<td bgcolor="#eeeeee" height="24" width="400">
<asp:Button ID="ButUpload" runat="server" OnClick="Button1_Click" Text="· 开始上传 ·" CssClass="button" OnClientClick="javascript:mysub()" />

</td>
</tr>
</asp:Label>
</table>

</form>


...全文
134 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-04-16
  • 打赏
  • 举报
回复
string fullname = fileupload.PostedFile.FileName;
if ((fullname == null) || (fullname.Equals("")))
return "";
string huozui = fullname.Substring(fullname.LastIndexOf("."));
string p1 = Folders + fullname .Substring(fullname .LastIndexOf("\\")+1)+ huozui;
string path = System.Web.HttpContext.Current.Server.MapPath(p1);

if (System.IO.File.Exists(path))
System.IO.File.Delete(path);
fileupload.PostedFile.SaveAs(path);
guangshui123 2009-04-16
  • 打赏
  • 举报
回复
ASP.NET还在学,不是很清楚。
应该是string Filename=GetFileName();那里有问题。
Hikor 2009-04-16
  • 打赏
  • 举报
回复
上传文件的时候判断一下文件是否存在 否则提示不予上传 请改文件名
  • 打赏
  • 举报
回复
保存文件时,在数据库中多建一个字段保存文件的原名,然后显示原名,链接中用真实路径
mrhu7002 2009-04-16
  • 打赏
  • 举报
回复
ASP.NET 3.5(1)第一群47448683 ,创群三年,刚刚清理,留上的都算得上是高手,现招人!
没看代码,也不想看代码。你直接把你原来那个什么日期去掉不就完事了?还有,你可以在数据库里存真名,实际文件名为日期也没关系呀
mqc507 2009-04-16
  • 打赏
  • 举报
回复
public static string UpLoadFile(FileUpload fileupload, string Folders)
{
string fullname = fileupload.PostedFile.FileName;
if ((fullname == null) || (fullname.Equals("")))
return "";
string huozui = fullname.Substring(fullname.LastIndexOf("."));
string filename = GetFileName();
string p1 = Folders + filename + huozui;
//Folders + fullname.Substring(fullname.LastIndexOf("\\") + 1);
string path = System.Web.HttpContext.Current.Server.MapPath(p1);

if (System.IO.File.Exists(path))
System.IO.File.Delete(path);
fileupload.PostedFile.SaveAs(path);
return p1;
}
中的红色改为:string filename = fullname;
bj890 2009-04-16
  • 打赏
  • 举报
回复
现在这些老板都不懂装懂!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
把我们做程序整的挺外行的...
vlysses 2009-04-16
  • 打赏
  • 举报
回复
上传的文件依然按时间串命名,但在数据库中保存文件的原名,并记录改名后的文件关联关系即可。页面显示数据库中保存的文件原名,下载时连接真实名
takako_mu 2009-04-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 takako_mu 的回复:]
老板懂個P啊,瞎扯。
如果單單 “显示文件的原有名称” 肯定會重復的哇,文件名重復肯定上傳不了哇.
最佳的解決辦法就是 原有名稱+日期,文件名如:會議記錄20090416
[/Quote]

//取得用户端上完整的档案名称
string strName = inputFile.PostedFile.FileName;

//取得文件名(抱括路径)里最后一个"."的索引 .doc .txt等后缀前的那个“.”
int intExt = strName.LastIndexOf(".");

//取得文件后缀名(扩展名)
string strExt = strName.Substring(intExt);

//根据日期和文件大小不同为文件命名,确保文件名不重复
DateTime datNow = DateTime.Now;
string strNewName1 = datNow.DayOfYear.ToString() + inputFile.PostedFile.ContentLength.ToString();// +strExt;

ak8800 2009-04-16
  • 打赏
  • 举报
回复
string fileTitle = HttpContext.Current.Request.Files[0].FileName;
takako_mu 2009-04-16
  • 打赏
  • 举报
回复
老板懂個P啊,瞎扯。
如果單單 “显示文件的原有名称” 肯定會重復的哇,文件名重復肯定上傳不了哇.
最佳的解決辦法就是 原有名稱+日期,文件名如:會議記錄20090416
ak8800 2009-04-16
  • 打赏
  • 举报
回复
//string filename = GetFileName();
string filename = Request.Files[0].filename.toString();
coodd 2009-04-16
  • 打赏
  • 举报
回复
string filename = GetFileName();
GetFileName就把文件名字设成时间了,改一下这句
aspnet30 2009-04-16
  • 打赏
  • 举报
回复
帮顶·!!

62,243

社区成员

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

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

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

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