5

Tôi đang tạo ứng dụng mà trong đó tôi sẽ có cơ sở dữ liệu mà người dùng không thể chỉnh sửa. Nó chỉ có dữ liệu và nó hiển thị cho người dùng. Tôi thấy rằng tôi không phải sử dụng localstorage Tôi chỉ có thể thêm cơ sở dữ liệu vào dự án và nó là chỉ đọc. Vì vậy, tôi đã làm nó và mọi thứ đều ổn. Bây giờ tôi muốn thêm hình ảnh vào ứng dụng của mình và tôi không chắc chắn cách nào tốt hơn. Tôi có thể mỗi hình ảnh thêm vào thư mục, trong cơ sở dữ liệu lưu trữ đường dẫn đến hình ảnh và nó rất dễ dàng và nó có thể làm bây giờ. Hoặc tôi thấy rằng tôi có thể lưu trữ hình ảnh trong cơ sở dữ liệu dưới dạng hình ảnh (byte []). Điều gì là tốt hơn? Sẽ là hình ảnh trong cơ sở dữ liệu nhỏ hơn? Sẽ tải hình ảnh nhanh hơn? Nếu hình ảnh trong cơ sở dữ liệu là giải pháp tốt hơn, tôi có thể dễ dàng thêm hình ảnh vào cơ sở dữ liệu hiện tại của mình không? Có bài viết nào để làm điều này trong winforms? Cảm ơnHình ảnh trong cơ sở dữ liệu hoặc trong thư mục dự án là tài nguyên

Chỉnh sửa: Tôi rất vui vì câu hỏi của tôi có rất nhiều câu trả lời và ý kiến. Tôi muốn giải thích thêm nhu cầu của tôi. Ứng dụng của tôi nên có khoảng 150 hình ảnh và hình ảnh nên có kích thước 150px và 100px. Tôi muốn ứng dụng sẽ hoạt động mà không cần kết nối internet. Nó có thể kết nối để cập nhật nhưng đó là tất cả. Một lần nữa cảm ơn tất cả ý kiến ​​:)

+0

Không lưu trữ hình ảnh trên máy chủ nếu bạn không cần. Tải nội dung lên web chậm so với lưu trực tiếp trên thiết bị của bạn – MyKuLLSKI

Trả lời

1

Có rất nhiều 'ifs', 'buts' và 'maybes' về nơi bạn đặt bạn đặt hình ảnh của bạn và tôi không nghĩ rằng có một cách đúng hay sai.

Một điều đáng nói là nếu ứng dụng là doanh nghiệp quan trọng với tính sẵn sàng cao, tôi sẽ lưu trữ chúng trong cơ sở dữ liệu, đơn giản vì có thể sao lưu với phần còn lại của dữ liệu. Cơ sở dữ liệu có thể được nhân đôi vv để có tất cả các hình ảnh được coi là 'dữ liệu' có thể mang lại lợi ích. Ngoài ra nếu mọi thứ trở nên lớn và một trang trại được sử dụng và tải cân bằng, nó sẽ giúp khi các hình ảnh sống ở một nơi.

Đối với tôi, tôi muốn đi với cơ sở dữ liệu. Nhưng tất cả đều phụ thuộc vào quy mô của ứng dụng của bạn.

+0

Tôi rất vui vì tất cả các câu trả lời. Sau khi suy nghĩ và chọn cơ sở dữ liệu và tôi chọn câu trả lời của bạn. Cảm ơn –

+0

Rất vui khi bạn thấy điều này hữu ích. –

0

thư mục web. cũng nghĩ về việc tải từ xa chúng từ máy chủ đám mây như Amazon S3 để giải phóng quyền truy cập vào máy chủ của riêng bạn

1

Cá nhân tôi sẽ lưu trữ tất cả hình ảnh trong bộ nhớ riêng và trong cơ sở dữ liệu.

tôi sẽ lưu trữ tất cả những hình ảnh như một byte [] trong isolatedstorage

3

Đối với ứng dụng của chúng tôi, chúng tôi thấy một cách tiếp cận lai làm việc tốt nhất. Chúng tôi đã cấu hình môi trường SQL của mình để hỗ trợ FILESTREAM và sau đó nhập tất cả hình ảnh của chúng tôi. Điều đó cho chúng ta sự linh hoạt của việc có các hình ảnh 'trong sql' trong khi vẫn lưu trữ các hình ảnh thực tế vào đĩa. Đó là một giải pháp nhanh có thể hoạt động tốt cho bạn.

0

lựa chọn tốt nhất là để lưu trữ hình ảnh của bạn vào thư mục web, nếu bạn lưu chúng trong DB, bạn sẽ lãng phí thời gian retreiving chúng từ DB vì phải mất nhiều thời gian hơn

+2

Tôi không đồng ý. Truy cập trang web KHÔNG nhanh chóng – MyKuLLSKI

1

Không có gì sai với câu trả lời đã ở đây nhưng nó thực sự phụ thuộc vào những gì bạn đang cố gắng hoàn thành và cách thiết lập hiện tại.

Tốt nhất là sử dụng mạng phân phối nội dung cho hình ảnh tĩnh để giảm tải cho máy chủ web của bạn.

Bạn có thể phân phát từ cơ sở dữ liệu hoặc dưới dạng tệp tài nguyên trong cấu trúc tệp theo ý thích của mình. Nếu hình ảnh tĩnh không quên thêm bộ nhớ đệm thích hợp cho nội dung tĩnh sẽ là tương lai xa.

Nếu bạn đang kết xuất hình ảnh, tôi chắc chắn sẽ giữ hình ảnh trong cơ sở dữ liệu để có thể truy cập hình ảnh từ bất kỳ số lượng máy chủ web nào.

Nếu bạn muốn bạn có thể phát triển hơn nữa bằng cách giữ hình ảnh được sử dụng gần đây nhất trong bộ nhớ hoặc lưu trữ trên hệ thống tệp cục bộ, do đó bạn không phải lấy tệp từ cơ sở dữ liệu mỗi lần.

Các vấn đề liên quan