簡體   English   中英

使用 C# 在各種文件類型中嵌入和提取字符串

[英]Embed and extract a string in various file types with C#

我們正在開發數字市場。 用戶可以購買文件並下載它們。 文件類型為 pdf、mp3、mp4、jpg、apk(android 應用程序)。

由於某些原因,產品負責人希望文件可以被追蹤,誰下載了這個文件。 這意味着當用戶想要下載文件時,我們應該將 UserId 嵌入到文件中。 我們應該能夠稍后從文件中提取這個 userId。

我聽說過向 mp3 文件添加水印,但我正在尋找適用於所有文件類型或至少適用於 pdf、mp3、mp4、jpg 和 apk 的通用解決方案。

無論如何要向文件(任何文件類型)添加字符串並稍后從文件中提取它。 此字符串不應損壞文件,用戶不應看到它。

找到通用解決方案將非常困難/不可能,因為每種文件類型都不同。 如果可以使用某種格式,您應該編寫一種FileTypeWatermarkProvider ,然后所有提供程序都應該從單個接口派生。 但在我看來,你無法擺脫編寫單一解決方案。 例如:

一般供應商:

public interface IFileWatermarkProvider
{
    void EmbeddUserId(int userId);
}

格式:

public class PdfWatermarkProvider : IFileWatermarkProvider {}
public class MP3WatermarkProvider : IFileWatermarkProvider {}
public class ApkWatermarkProvider : IFileWatermarkProvider {}

我認為這是最好的解決方案。 應針對每種文件格式證明存儲信息的位置。

希望這會有所幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM