日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

保证文件名的唯一性

發布時間:2025/3/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 保证文件名的唯一性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在項目開發中,經常會有文件上傳和下載的功能,上傳的文件會保存在指定的地方,比如,mongodb數據庫中、FTP文件服務器中、或者保存在某個路徑下,需要保證上傳文件名稱的唯一性

一般的方法就是使用時間戳、或者使用GUID
這里,在上傳文件時,命名使用的是獲取當前日期時間+Session的ID+文件名稱
比如,上傳文件“文檔信息.txt”,效果如下

前臺代碼

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm.aspx.cs" Inherits="WebDropzone.WebForm" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"><meta name="viewport" content="width=device-width" /><title></title> </head> <body><form id="form1" runat="server"><div><table style="width: 343px"><tr><td style="width: 100px">文件上傳判斷</td><td style="width: 100px"></td></tr><tr><td style="width: 100px"><asp:FileUpload ID="FileUpload1" runat="server" Width="400px" /></td><td style="width: 100px"><asp:Button ID="Button1" runat="server" OnClick="bt_upload_Click" Text="上傳"/></td></tr><tr><td style="width: 100px"><asp:Label ID="lb_info" runat="server" ForeColor="Red" Width="183px"></asp:Label></td><td style="width: 100px"></td></tr></table></div></form> </body> </html>

后臺代碼

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.UI.WebControls;namespace WebDropzone {public partial class WebForm : System.Web.UI.Page, IHttpHandler{protected void Page_Load(object sender, EventArgs e){}protected void bt_upload_Click(object sender, EventArgs e){try{if (FileUpload1.PostedFile.FileName == ""){this.lb_info.Text = "請選擇文件!";}else{string filepath = FileUpload1.PostedFile.FileName;string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);string serverpath = Server.MapPath("File/") + System.DateTime.Now.ToString("yyy-MM-dd-hh-mm-ss") + Session.SessionID + filename;FileUpload1.PostedFile.SaveAs(serverpath);this.lb_info.Text = "上傳成功!";}}catch (Exception error){this.lb_info.Text = "上傳發生錯誤!原因:" + error.ToString();}}} }

關鍵代碼,就兩句如下

string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1); string serverpath = Server.MapPath("File/") + System.DateTime.Now.ToString("yyy-MM-dd-hh-mm-ss") + Session.SessionID + filename;

如果,這樣也可能重復的話,可以在文件名中再添加GUID

總結

以上是生活随笔為你收集整理的保证文件名的唯一性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。