2012-05-11 19 views
6

Cách tốt nhất để lưu trữ thông tin về BLOB trong DB là gì? File-Extension (.txt, .rar) hoặc MIME-Type?SQL: Lưu MIME-Type hoặc Extension?

Ngoài ra, điều gì tốt hơn: Lưu trữ tên tệp có hoặc không có đuôi mở rộng ("tệp" hoặc "tệp.txt")?

Điều tôi chủ yếu nói đến là Ứng dụng dành cho máy tính để bàn chứ không phải ứng dụng web.

Trả lời

6

Nếu chúng ta đang nói về lưu trữ tập tin tải lên ví dụ tôi sẽ luôn luôn lưu trữ các lĩnh vực sau:

  • File - varbinary (MAX)
  • FileName - nvarchar (255) (bao gồm cả phần mở rộng tập tin, ví dụ "myfile.txt")
  • kiểu tệp - nvarchar (255) (kiểu MIME)

loại MIME là quan trọng nếu nó là một ứng dụng dựa trên web và bạn muốn cho phép tải về các tập tin tại một số poi nt. Có loại MIME cho phép bạn thông báo cho trình duyệt cách xử lý tệp tốt nhất.

Vì vậy, câu trả lời trực tiếp cho câu hỏi của bạn là lưu cả loại MIME và Tiện ích mở rộng. Lý do là bạn không thể đảm bảo phần mở rộng tệp chính xác đã được cung cấp, do đó bạn cần loại MIME để xác định loại tệp. Nhưng bạn nên lưu trữ phần mở rộng với tên tập tin để bạn có thể cung cấp một tên tập tin hợp lệ tại thời gian tải về.

+0

Cảm ơn bạn đã suy nghĩ, âm thanh hợp lý. Những gì tôi chủ yếu nói đến là một Desktop-App, không phải là một ứng dụng Web. – SeToY

+1

@SeToY: Tôi vẫn sẽ lưu trữ tất cả 3 bit dữ liệu ngay cả khi bạn không cần chúng vào phút đó. Bởi vì nếu bạn không từ đầu, sẽ rất khó để có được thông tin sau này. Trong trường hợp này, bạn nên chuẩn bị cho các yêu cầu của mình để thay đổi. Có lẽ bạn cung cấp một cổng thông tin web cho dữ liệu, có thể bạn quyết định làm một 'trong trình đọc tệp ứng dụng'. – musefan

+0

OK, vì vậy việc lưu trữ MIME-Type luôn tốt hơn là chỉ lưu phần mở rộng. Cảm ơn bạn! :) – SeToY