Tworzę stronkę która zleca generowanie raportów. Czas ich generowania sięga nie raz 23h dlatego po ich wygenerowaniu są one odkładane na dysk sieciowy.
Do ich ściągnięcia korzystam z pluginy fileDownload
w zmiennej “data” jest przekazywany adres do pliku w postaci
\\xxx.xxx.xxx.xxx.xxx\raport.csv
To ściąganie działa tylko dla IE. W przypadku Firefoxa z niewiadomych mi przyczyn na początek ścieżki jest dodawany adres "http://localhost/ReportApp/.
Nie mogę się tego wyzbyć mimo, że dla każdej przeglądarki przekazywana ścieżka jest identyczna.
w sumie to dziwne że IE to obsługuje. Musisz inaczej wystawiać dane.Teraz podajesz adres do windowsowego zasobu sieciowego, zrób na tym serwerze webdava albo coś co wystawia dane w inny sposób.
Strona jest robiona w MVC C#. Argument jest zwracany do widoku przez kontroler, a ten zaczytuje lokalizacje z pliku web.config.
Widzisz… Returna nie mam:/ Teraz jak patrzę na tutorial to rzeczywiście on jest. Jakoś się nim nie przejmowałem bo zawsze działało. Będę musiał to poprawić.
Próbowałem zmieniać na to i na to - za każdym razem firefox dodaje przed adres który mu przekazuję ten fragment "http://localhost"
Ta metoda działa w każdej przeglądarce jeśli to kontroler zwraca plik. Jednak teraz plik musi zostać zaczytany na prawach użytkownika, a nie serwera. Niestety dane są wystawiane zawsze do tej lokalizacji i na to nie mam wpływu. Wcześniej zamiast ściągania pliku próbowałem by js otwierał nowe okno z wybranym adresem url. Ale jest dokładnie ten sam problem. Na IE działa, a Firefox uparcie dodaje przedrostek w formie adresu lokalnego strony (jak wrzucę na serwer to dopina swój adres na serwerze).
No niestety, bez kodu w tym wypadku pozostaje ci debug. Jakoś tą różnicę między przeglądarkami musisz znaleźć, bo błąd leży po stronie serwera, zmienna data zawsze jest taka sama ? Porównaj też ciastka. Spróbuj ścieżkę zapisać w ciastku, ew zmień sposób pobierania tej ścieżki po wygenerowaniu pliku.
Ścieżka działa jak wchodzę przez dysk sieciowy. Działa jak próbuję ściągnąć jego zawartość przez kod zawarty w C#. Działa jak próbuje go otworzyć bezpośrednio w Firefoxie, Chromie oraz IE.
Firefox oraz Chrome na siłę wsadzają przed adres do raportu, adres aplikacji.
Chyba, że znacie inny sposób otwarcia pliku z zasobu sieciowego przez TypeScript/JavaScript ?
Próbowałem już “window.open” oraz właśnie “filedownload” i Fx i Chrome mają ten problem:/