2010-08-30 34 views
0

我有一個類似於SVN的網站,但沒有版本控制。用戶可以上傳和下載到項目,其中每個項目都有一個目錄(與子目錄和文件)在服務器上。我想要做的是給文件附加更多的信息,比如誰上傳了文件,下載了多少次,等等。有沒有辦法做到這一點的FileInfo,或者我應該將它存儲在一個表中,它將自己與絕對路徑或什麼?這種方式聽起來不妥和易出錯:\將任意數據附加到DirectoryInfo/FileInfo?

回答

1

可以使用NTFS(默認的Windows文件系統,我假設您正在使用)將數據追加到任意文件。你會使用alternate data streams。 Microsoft將此用於擴展元數據,如作者和Office文檔中的摘要信息。

不過,我認爲數據庫方法是合理的,廣泛使用的,並且更不容易出錯。除非您真正更改其內容,否則修改原始文件並不是一個好主意。

+0

謝謝。我的想法是將數據庫條目「鍵入」到適當的絕對路徑?有沒有做這樣的事情的例子? – 2010-08-30 04:23:17

+0

@George:當我這樣做時,我通常至少有一些「FileID」(主鍵)和「File Name」。其他元數據將進入這個或相關表格。在上傳時,我將文件重命名爲(唯一)文件ID,然後在下載時將其重命名爲。我們也會將這些文件分成100或500個批次,以使手動目錄遍歷更容易。 – 2010-08-30 16:31:22

0

正如Michael Petrotta指出的那樣,備用數據流是一個很好的想法。 Here's a C# tutorial with code.真的,數據庫是要走的路。 SQL Compact和SQLite的影響相當小,而且易於使用。