2012-11-20 29 views
6

Tôi đã kiểm tra các câu hỏi trước đây ở đây trên SO nhưng tôi nghĩ rằng tôi muốn chức năng của mình hoạt động hơi khác một chút. Tôi hiểu rằng các tệp .tif không được hỗ trợ nguyên bản trong Internet Explorer và phần mở rộng đó, chẳng hạn như AlternaTIFF, có sẵn để khắc phục điều này. Tuy nhiên, tôi muốn hộp thoại hiển thị nơi người dùng có thể lưu/mở tệp ở phía máy khách. Tôi biết rằng MS Windows Picture và Fax Viewer có thể mở chúng, không có vấn đề gì.Mở một Tệp TIFF từ Trình duyệt Web

Các tệp được đặt trên máy chủ của chúng tôi và đây sẽ là trang web mạng nội bộ. Hiện tại, tôi có một liên kết đến các tệp được điền trong chế độ xem nhưng một lần nữa, tôi muốn tùy chọn đó cho người dùng Lưu/Mở tệp.

Tôi đang sử dụng MVC, điều mà tôi hơi lạ và không thể hình dung ra điều này. Cảm ơn bạn.

+2

Tôi tin rằng http://stackoverflow.com/questions/10818031/prompt-user-to-save-open-file-in-asp-net-c-sharp sẽ phù hợp với bạn. – TNCodeMonkey

Trả lời

1

Bạn có thể thực hiện hành động trả về một dấu gạch ngang bằng cách thay đổi tiêu đề để khi ai đó nhấp vào liên kết, tệp sẽ được tải xuống hoặc sử dụng FileResult.

Ví dụ với FileResult (tôi tìm thấy nó dễ dàng hơn): http://www.dotnetcurry.com/ShowArticle.aspx?ID=807

Đối với lưu chúng là giống như tải lên bất kỳ tập tin với MVC. Bài đăng này có thể hữu ích http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx

Lời khuyên của tôi là bạn chuyển đổi chúng thành .jpg hoặc .png khi được tải lên bằng GDI +.

//You first upload the tiff to the server like the post above explains 
//And then open and convert it to .JPEG 
Bitmap bm = Bitmap.FromFile("mypic.tiff"); 
bm.Save("mypic.jpg",ImageFormat.JPEG); 

Và nếu bạn đã có các url của tất cả các tiff, bạn luôn có thể làm một ứng dụng bảng điều khiển để chuyển đổi tất cả chúng. Ngay cả khi bạn cần sử dụng tiffs, ý tưởng hay của nó là có một phiên bản .jpg để hiển thị trên web. Bạn thậm chí có thể thay đổi kích thước chúng để tạo bản xem trước và lưu một số băng thông! :-)