文件上传获取本地文件地址

pzlin 2009-04-29 06:00:12
用 UpLoadFile或者 HtmlInputFile控件如何获取显示的完整路径

用它们的PostedFile.FileName获取的名字是不完整的

比如说E:\a.txt这个文件

用PostedFile.FileName 获取出来的只有 a.txt

但是我想要 E:\a.txt这个值 如何获得
...全文
843 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pzlin 2009-04-29
  • 打赏
  • 举报
回复
我的原意是上传的同时获得文件的最后修改时间 ,但是发现没有办法获取文件的最后修改时间。
现在的想法是,获取本地文件的绝对路径,然后访问文件 获得 文件的最后修改时间。
发现选择文件的时候 ,绝对路径在界面上面有显示 就是不知道怎么获取。。
pzlin 2009-04-29
  • 打赏
  • 举报
回复
谢谢楼上几位
3,4,5楼的代码运行过。。 在服务端可以运行。。 在客户端运行的时候就不行了。取不到全地址的
好像是出于安全的考虑把控件做成那样的吧

6楼的方法还没有用过,能否给个例子

路人乙e 2009-04-29
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/system.web.httppostedfile_members(VS.80).aspx
No1bigtooth 2009-04-29
  • 打赏
  • 举报
回复
string FullFileName = this.FileUpload1.PostedFile.FileName;//获取文件物理路径
string FileName = FullFileName.Substring(FullFileName.LastIndexOf("\\")+1);//获取文件名
string StrPhoMap = Server.MapPath("../up") + "\\" + FileName;//获取文件虚拟路径
string Type = FullFileName.Substring(FullFileName.LastIndexOf(".")+1);//获取文件类型
蓝海D鱼 2009-04-29
  • 打赏
  • 举报
回复

Code
private void upMorefile()
{

HttpFileCollection files = Request.Files;

System.Text.StringBuilder strMsg = new System.Text.StringBuilder("上传的文件信息分别为:<hr color=red>");
int fileCount;

try
{
for (fileCount = 0; fileCount < files.Count; fileCount++)
{

HttpPostedFile postedFile = files[fileCount];
string fileName, fileExtension;

fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != String.Empty)
{

fileExtension = System.IO.Path.GetExtension(fileName);

strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>");
strMsg.Append("上传文件的文件名:" + fileName + "<br>");
strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr color=red>");


postedFile.SaveAs(Server.MapPath("upedFile/") + fileName);
}
}
strStatus.Text = strMsg.ToString();

}
catch (System.Exception error)
{
strStatus.Text = error.Message;
}
}
protected void Upload_Click(object sender, EventArgs e)
{
upMorefile();
}






Code
<head id="Head1" runat="server">
<title></title>
<script language="JavaScript">
function addFileControl() {
var str = '<INPUT type="file" NAME="File">'
document.getElementById('FileCollection').insertAdjacentHTML("beforeEnd", str)
}
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="upMoreFile" method="post" encType="multipart/form-data" runat="server">
<asp:label id="Title" Runat="server"></asp:label>
<P id="FileCollection"><INPUT type="file" name="File">
</P>
<P><input onclick="addFileControl()" type="button" value="增加(File)">
<asp:button id="Upload" Runat="server" Text="上传" Width="56px" OnClick="Upload_Click"></asp:button>
<input style="WIDTH: 56px; HEIGHT: 24px" onclick="this.form.reset()" type="button" value="重置">
</P>
<p>
<asp:label id="strStatus" runat="server" BorderColor="White" BorderStyle="None" Width="544px"
Font-Size="9pt" Font-Bold="True" Font-Names="宋体"></asp:label> </p>
</form>
</body>
levinstong 2009-04-29
  • 打赏
  • 举报
回复

string filename = this.txtGameName.Text;
string houzhui = gameFileUpload.PostedFile.FileName.Substring(this.gameFileUpload.PostedFile.FileName.LastIndexOf(".") + 1);
string str = "games/" + filename + "." + houzhui;
string filename2 = DateTime.Now.ToString("yyyyMMddhhmmss");
string houzhui2 = imgFileUpload.PostedFile.FileName.Substring(this.imgFileUpload.PostedFile.FileName.LastIndexOf(".") + 1);
string str2 = "Image/pcimg/" + filename2 + "." + houzhui2;
string sizs = Convert.ToString(this.gameFileUpload.PostedFile.ContentLength / 1000000.00) + "Mb";

本人英文水平不好
No1bigtooth 2009-04-29
  • 打赏
  • 举报
回复
在不?
pzlin 2009-04-29
  • 打赏
  • 举报
回复
补充: 我选择完后在界面上是可以看到E:\a.txt 在输入的框框里的
直接从框框里获取也行

62,267

社区成员

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

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

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

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