用fileupload控件上传文件并自定义文件名

用fileupload控件上传文件并自定义文件名,第1张

是有个FileUploadSaveAs(string

path)方法吧,参数path定义为你要保存文件的路径以及文件名的完整格式,在这里,你可以将文件名定义为你在页面里输的文件名,后台获取此值,拼接一下字符串即可。

试试这个方法,应该可行。

应用程序中经常需要允许用户把文件上传到web服务器 尽管在ASP NET X也可以完成该功能 但在ASP NET 中使用FileUpload控件会更简单 该控件让用户更容易地浏览和选择用于上传的文件 它包含一个浏览按钮和用于输入文件名的文本框 只要用户在文本框中输入了完全限定的文件名 无论是直接输入或通过浏览按钮选择 都可以调用FileUpload的SaveAs方法保存到磁盘上 除了从WebControl类继承的标准成员 FileUpload控件还公开了几个只读的属性 在表 和表 列出 表 FileUpload控件属性 名  称 类型 读 写 说  明 FileContent Stream × 返回一个指向上传文件的流对象 FileName string × 返回要上传文件的名称 不包含路径信息 HasFile Boolean × 如果是true 则表示该控件有文件要上传 PostedFile >

FileUpload控件,ID设置为fu1

//获取上传文件的大小(单位字节)

int size = fu1PostedFileContentLength;

//我们可以判断是否选择了文件

if (size > 0)

{

//获取文件名

//这里采用了系统中自带的一个方法,当然也可以采用拆分字符串的方法

string filename = SystemIOPathGetFileName(fu1PostedFileFileName);

//获取文件扩展名

string extend = SystemIOPathGetExtension(fu1PostedFileFileName);

//根据扩展名,我们可以判断是否是允许上传的文件的种类

if (extendToLower() != "jpg" || extendToLower() != "gif")

{

ResponseWrite("对不起,文件类型不对!");

return;

}

//获取上传到服务器上的文件夹的物理路径

string path = ServerMapPath("~/Upfiles/");

//这里我们可以判断需要上传的文件在服务器上是否有重名文件

//如果有,我们可以采用删除或者把这个文件改名

if (SystemIOFileExists(path + filename))

{

//删除

SystemIOFileDelete(path + filename);

}

//最后,上传文件,上传的方法有很多种,我们这里介绍其中一种简单的方法

fu1PostedFileSaveAs(path + filename);

ResponseWrite("上传成功!");

}

else

{

ResponseWrite("请选择上传文件");

}

fileupload 获取选中文件的绝对路径,实现参考如下:

protected void BtnUp_Click(object sender, EventArgs e)

{

if (FileUploadHasFile)

{

string savePath = ServerMapPath("~/upload/");//指定上传文件在服务器上的保存路径

//检查服务器上是否存在这个物理路径,如果不存在则创建

if (!SystemIODirectoryExists(savePath))

{

SystemIODirectoryCreateDirectory(savePath);

}

savePath = savePath + "\\" + FileUploadFileName;

FileUploadSaveAs(savePath);

LabMsgText = stringFormat("<a href='upload/{0}'>upload/{0}</a>", FileUploadFileName);

}

else

{

LabMsgText = "没有选择文件!";

}

}

[csharp] view plain copy

if (FileUpload1FileContentLength > 0)

{

string name = FileUpload1FileName;//获取上传的文件名

string ext = SystemIOPathGetExtension(name);// 获取文件的扩展名,比如 gif

string newname = DateTimeNowToString("yyyyMMddhhmmss") +ext;//利用时间生成新文件名后再加扩展名生成完整名字

string path = "~/load/" + newname;

FileUpload1 SaveAs (System Web >

你上传时不是通过获取过保存路径的绝对路径吗,比如这样:

String path = thisgetServletContext()getRealPath("/data/userfile/image");  //文件保存路径

然后你只需要把的文件名再保存在数据库中,在显示页面直接使用相对路径来指向文件即可,“相对路径+文件名”,比如:

<br>照片:<img src=data/userfile/image/<jsp:getProperty name="loginedInform" property="pic" /> width=100 height=100></img>

/// <summary>上传文件方法

/// 返回文件名

/// </summary>

/// <param name="myFileUpload">上传控件ID</param>

/// <param name="allowExtensions">允许上传的扩展文件名类型,如:string[] allowExtensions = { "doc", "xls", "ppt", "jpg", "gif" };</param>

/// <param name="maxLength">允许上传的最大大小,以M为单位</param>

/// <param name="savePath">保存文件的目录,注意是绝对路径,如:ServerMapPath("~/upload/");</param>

public static string Upload(FileUpload myFileUpload, string[] allowExtensions, int maxLength, string savePath)

{

// 文件格式是否允许上传

bool fileAllow = false;

//检查是否有文件案

if (myFileUploadHasFile)

{

// 检查文件大小, ContentLength获取的是字节,转成M的时候要除以2次1024

if (myFileUploadPostedFileContentLength / 1024 / 1024 >= maxLength)

{

throw new Exception("只能上传小于" + maxLength + "M的文件!");

}

//取得上传文件之扩展文件名,并转换成小写字母

string fileExtension = SystemIOPathGetExtension(myFileUploadFileName)ToLower();

string tmp = ""; // 存储允许上传的文件后缀名

//检查扩展文件名是否符合限定类型

for (int i = 0; i < allowExtensionsLength; i++)

{

tmp += i == allowExtensionsLength - 1 allowExtensions[i] : allowExtensions[i] + ",";

if (fileExtension == allowExtensions[i])

{

fileAllow = true;

}

}

if (fileAllow)

{

try

{

string datedir = DateTimeNowToString("yyyyMMdd");

if (!DirectoryExists(savePath + datedir))

{

DirectoryCreateDirectory(savePath + datedir);

}

string saveName = GuidNewGuid() + fileExtension;

string path = savePath + datedir + "/" + saveName;

//存储文件到文件夹

myFileUploadSaveAs(path);

return datedir + "/" + saveName;

}

catch (Exception ex)

{

throw new Exception(exMessage);

}

}

else

{

throw new Exception("文件格式不符,可以上传的文件格式为:" + tmp);

}

}

else

{

throw new Exception("请选择要上传的文件!");

}

}

调用:

try

{

string proimg = NiunanShopUtilityToolUpload(fuimg, new string[] { "jpg", "gif", "png" }, 3, ServerMapPath("~/upload/"));

}

catch (Exception ex)

{

ResponseWrite(exMessage);

}

以上就是关于用fileupload控件上传文件并自定义文件名全部的内容,包括:用fileupload控件上传文件并自定义文件名、ASP.NET 2.0高级控件之FileUpload控件、asp.net 中怎么取FileUpload 的真实路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9379001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存