上传图片并将其重命名

时间:2014-04-23 15:23:08

标签: c# asp.net

我创建了一个界面,用户可以选择并上传图片。但是如何在服务器文件夹(图像)中重命名和保存图像,并在我的图像库页面上再次显示它。我的网站是在asp.net c#中开发的。请提供一些想法或链接以供参考。

上传按钮点击下面的代码:

protected void Button1_Click(object sender, EventArgs e)
{
    if (FileUpload1.HasFile)
    {
        string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
        FileUpload1.PostedFile.SaveAs(Server.MapPath("~/uploads/") + fileName);
        Response.Redirect(Request.Url.AbsoluteUri);
    }
}

感谢。

2 个答案:

答案 0 :(得分:2)

显然,您需要在网站目录中的某个位置放置一个文件夹。正在为Web应用程序运行应用程序池的用户需要对其进行读/写访问。根据您的需要,您可能不希望用户直接浏览此文件夹(运行应用程序池的用户除外)。

您需要将新文件路径存储在某处(数据库,XML文件,平面文本等),因此当用户请求查看图像时,您将打开此文件,并将其作为响应流返回正确的类型(JPG,GIF,BMP等),因此提示用户打开或保存它。

答案 1 :(得分:0)

要重命名并保存服务器文件夹中的图像,请尝试以下代码: -

 //Get Filename from fileupload control and rename it
 string filename = ((DateTime.Now.ToString().Replace("/", "-")).Replace(":", "")).Replace(" ", "_") + "_" + ((Path.GetFileName(FileUpload1.PostedFile.FileName)).Replace(".",".")).Replace(" ","");

 FileUpload1.SaveAs(Server.MapPath("~/uploads/" + filename));