[英]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.