2009-10-09 14 views
10

mam Flex aplikacja robi wielu plików upload, i wciąż otrzymuję ten błąd: Error # 2038: File I/O ErrorFlex: Error # 2038: File I/O Error

Flex daje ten błąd, jeszcze wydaje się działać, ponieważ przesyłanie nie jest przetwarzane. To się działo z przerwami, teraz za każdym razem. Jakieś pomysły na temat tego, co się tutaj dzieje? Sprawdziłem, czy uprawnienia są do odczytu/zapisu, google'd coś o problemie z końcowym ukośnikiem z adresem URL. Nie wiem, co może się dziać.

+0

Czy możesz pokazać kod źródłowy, gdy pojawi się ten błąd? –

+0

możesz zrzucić to pytanie. friggin cache. – Ronn

+2

Czy możesz wyjaśnić, jak to rozwiązałeś? – Imageree

Odpowiedz

0

Miałem również ten sam problem podczas przesyłania pliku jakieś 3-4 miesiące wcześniej. Połączenie miało zostać przeprowadzone z serwletem, ale z przodu wystąpił błąd (# 2038).

Później dowiedziałem się, że mój kod miał jakiś wyjątek w Servlet, a następnie nie został poprawnie przetworzony. Nie pamiętam, jaki był wyjątek, ale kiedy rozwiązałem ten wyjątek, błąd zniknął.

b/używasz pliku commons do załadowania pliku?

Pozdrawiam, Anoop

5

Używasz certyfikat SSL na serwerze jesteś wysłaniem do? miałem problemy w przeszłości, gdzie Flash Player losowo niepowodzeniem z powodu nieprawidłowego certyfikatu SSL ...

Cheers

+0

Czy są jakieś sposoby obejścia problemu z samopodpisanymi certyfikatami? – dmitry

+0

O ile wiem, obawiam się - przepraszam za spóźnioną reakcję! – infomaniac

0

Istnieje limit jednoczesnych połączeń, które są obsługiwane. Myślę, że to 3 lub 5, nie jestem pewien. Czy pojawia się błąd podczas próby przesłania więcej niż 3 plików?

1

Dobrym pomysłem może być obejrzenie ruchu za pomocą narzędzia takiego jak charles. To może lepiej wskazać, co tak naprawdę się nie udaje.

Dobrze wiedzieć, że odtwarzacz Flash z przesyłanymi plikami zapomina o wysyłaniu plików cookie, może to spowodować, że sesja na serwerze będzie inna.

+1

Po to, co jest warte, po prostu miałem ten problem i użyłem Charlesa do debugowania sesji. Flash jest po prostu głupi. Odpowiedź była normalną odpowiedzią 302, ale Flash zdecydował się mimo wszystko rzucić IOErrorEvent (oprócz HTTPStatusEvent). Jedyne, co mogłem wymyślić, to wyszukanie błędu nr 2038 w procedurze obsługi IOErrorEvent i zignorowanie zdarzeń pasujących do tego wzorca. Dzięki za nic, Adobe! – jsd

1

Może się również zdarzyć, że adres URL połączenia z serwerem nie jest poprawny. Sprawdź, czy jest to względny adres URL, a jeśli tak, w pełni go sklasyfikuj. Znalazłem to bahavery sam ... i kod może działać w IE, ale nie w innych przeglądarkach, nie na Macu, a nie na Mobile.