Làm cách nào tôi có thể cho phép tải xuống các tệp * .json từ một trang web ASP.NET cũ (IIS6 tôi được tin tưởng)?
Tôi đang nhận được một trang 404 thay vì tệp JSON.
Tôi có cần tạo tệp web.config không? Những gì đi trong nó?
Làm cách nào tôi có thể cho phép tải xuống các tệp * .json từ một trang web ASP.NET cũ (IIS6 tôi được tin tưởng)?
Tôi đang nhận được một trang 404 thay vì tệp JSON.
Tôi có cần tạo tệp web.config không? Những gì đi trong nó?
Câu trả lời:
Thêm loại MIME JSON vào IIS 6. Thực hiện theo các hướng dẫn tại Cấu hình các loại MIME của MSDN (IIS 6.0) .
Đừng quên khởi động lại IIS sau khi thay đổi.
CẬP NHẬT: Có nhiều cách dễ dàng để làm điều này trên IIS7 và mới hơn. Các op đặc biệt yêu cầu trợ giúp IIS6 vì vậy tôi sẽ để lại câu trả lời này. Nhưng câu trả lời này vẫn nhận được rất nhiều lưu lượng mặc dù IIS6 đã rất cũ. Hy vọng rằng bạn đang sử dụng một cái gì đó mới hơn, vì vậy tôi muốn đề cập rằng nếu bạn có phiên bản IIS7 mới hơn hoặc mới hơn, hãy xem câu trả lời của @ ProVega bên dưới để biết giải pháp đơn giản hơn cho các phiên bản mới hơn đó.
.ASPX
. Một lần nữa, chuyển sang một máy chủ với IIS7 cung cấp nhiều giải pháp dễ dàng hơn.
Nếu bạn muốn thêm hỗ trợ thủ công vào trang web của mình, bạn chỉ cần thêm phần sau vào web.config trong phần system.webServer :
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
Điều này sẽ thêm một cấu hình "cục bộ" trong IIS. Điều này không hoạt động trong IIS6, nhưng hoạt động trong IIS7 và mới hơn.
web.config
đường dẫn đầy đủ .
Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv'
Một khi tôi đã xóa bản sao, không có vấn đề gì.
Truy cập IIS, Chọn ứng dụng của bạn và Tìm loại MIME
Nhấp vào Thêm từ bảng bên phải
Tên tệp mở rộng = .json
Loại MIME = ứng dụng / json
Sau khi thêm loại tệp .json trong Loại MIME , Khởi động lại IIS và thử truy cập tệp json
Truy cập web.config của ứng dụng đó và thêm dòng này trong đó
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
Khi thêm hỗ trợ cho mimetype (như được đề xuất bởi @ProVega) thì cách tốt nhất là loại bỏ loại trước khi thêm nó - ví dụ, điều này là để ngăn các lỗi không mong muốn khi triển khai đến các máy chủ có hỗ trợ cho loại đã tồn tại, ví dụ:
<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
C:\Windows\System32\inetsrv\config
tệp IIS7 : applicationhost.config
Chỉ có vấn đề này nhưng phải tìm cấu hình cho IIS Express để tôi có thể thêm các loại mime. Đối với tôi, nó được đặt tại C:\Users\<username>\Documents\IISExpress\config\applicationhost.config
và tôi đã có thể thêm vào "bản đồ mime" chính xác ở đó.
<mimeMap>
nút : <remove fileExtension=".json" />
. Bạn không cần phải chạm vào applicationationhost.config (hoặc machine.config). Điều đó đang được nói, sửa đổi các tệp đó có thể hữu ích nếu bạn thường xuyên tạo các trang web mới và không muốn phải sửa đổi web.config cho mỗi trang web. Điều đó có thể hoạt động đối với môi trường dev, nhưng thường thì bạn không thể chạm vào máy.config trong môi trường sản xuất, vì vậy tôi vẫn khuyên bạn nên thực hiện thay đổi trong web.config.
remove
chìa khóa cho tôi