2010-11-22 27 views
5

Sử dụng plugin Uploadify sử dụng jQuery và SWF. Một số máy chủ web hoạt động, một số máy chủ không hoạt động. Có vẻ như không nhận được HTTP 401 Không được ủy quyền khi cố gắng tải lên. Có thể liên quan đến SWF. Trong Fiddler, khi nó không hoạt động, dường như nhận được Proxy-Support này: Session-Based-Authentication, nhưng khi nó hoạt động, chúng ta không nhận được Session Based Authentication. Đây có phải là sự cố định tuyến mạng không? Sự cố proxy? Mọi góp ý về sửa chữaTải lên các thách thức và HTTP 401. Tại sao nó không hoạt động liên tục?

HTTP/1.1 401 Unauthorized 
Date: Mon, 22 Nov 2010 22:20:45 GMT 
Server: Microsoft-IIS/6.0 
WWW-Authenticate: Negotiate 
WWW-Authenticate: NTLM 
X-Powered-By: ASP.NET 
X-AspNet-Version: 2.0.50727 
Cache-Control: private 
Content-Type: text/html; charset=utf-8 
Content-Length: 1697 

Proxy-Support: Session-Based-Authentication

+0

Dường như giải pháp tốt nhất là không sử dụng Uploadify, đẹp như một giao diện. Nhưng nếu không có flash, chúng tôi sẽ mất khả năng tải lên nhiều tệp cùng một lúc. Bất kỳ plugin không phải SWF nào khác mà bất kỳ ai cũng có thể đề xuất? – Shane

Trả lời

6

Cho bất kỳ ai muốn sử dụng plugin Tải lên với Xác thực Windows. Đừng làm thế. Không chỉ Uploadify, nhưng bất kỳ ai trong số họ sử dụng các tệp Flash. Thay vào đó hãy thử một trình cắm khác. Chúng tôi đã sử dụng cái này và nó hoạt động rất tốt, không có vấn đề gì cả. Nó không sử dụng bất kỳ Flash.

http://valums.com/ajax-upload/

3

Uploadify sử dụng Flash để tải lên. Tôi nghĩ rằng vấn đề ở đây liên quan đến một lỗi trong Flash khiến cho Uploadify sử dụng một phiên riêng biệt. Mặc dù phiên của người dùng được phép tải lên, ủy quyền đó không được mở rộng đến phiên Tải lên.

Một giải pháp cho vấn đề này là tạo sự xác thực tùy chỉnh của riêng bạn để tải lên. Bạn có thể cân nhắc phát hành một loại mã thông báo truy cập cho người dùng có thể được chuyển như một tham số để Uploadify và chuyển qua khi tải lên tệp.

+1

Tôi đồng ý với đoạn 1, nhưng tôi mạnh mẽ không đồng ý với đoạn 2 :) Thông thường, việc chuyển sang ID phiên bên phải theo cách thủ công trong tùy chọn của người tải lên là đủ. (Sẽ upvote khi tôi có phiếu bầu một lần nữa) –

+0

Vì vậy, khi tôi hiểu nó, vấn đề là một lỗi trong các tập tin SWF mà họ không luôn luôn thực hiện các tiêu đề xác thực đúng, vì vậy bạn có thể tạo một trang aspx trả về kiểu nội dung của shockwave flash và làm một Response.BinaryWrite để lấy tập tin. Có lẽ điều đó sẽ xoay quanh nó. Không chắc. – Shane

+0

@Pekka: Điều đó nghe như một giải pháp tốt. Nỗ lực đầu tiên của tôi khi tôi gặp sự cố này liên quan đến việc chuyển ID phiên và trao đổi phiên Tải lên thực tế trước khi yêu cầu được xử lý. Tuy nhiên, nó đã đưa ra một số vấn đề khác, vì vậy tôi đã lưu ID phiên của người dùng trong cơ sở dữ liệu dưới dạng "mã thông báo" và chuyển nó cùng với yêu cầu Uploadify. –

1

Gần đây, tôi đã gặp sự cố này.

Trong trường hợp của tôi, tôi đã sử dụng IIS với xác thực cửa sổ được bật (không có quyền truy cập ẩn danh). Điều này ngăn Flash tải lên tệp vì nó chạy quá trình tải lên dưới dạng phiên riêng biệt không được xác thực. Để giải quyết, tôi chỉ cho phép truy cập nặc danh trên các tệp trình xử lý và tải lên bây giờ hoạt động tốt.

+0

Bạn có thể vui lòng xây dựng và cung cấp cho tôi các bước không? Im có cùng một vấn đề. –

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