szydera1
(szydera_)
2 Grudzień 2010 13:36
#1
Witam serdecznie,
mam problem z wyświetleniem pliku z rozszerzeniem .docx… Przykładowo dla .pdf wygląda to tak (content to zawartość pliku):
Response.ContentType = "application/pdf";
Response.BinaryWrite(content);
jednak podobne działania dla .docx nie dają rady:
Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
//Response.ContentType = "application/msword";
Response.AddHeader("Content-disposition", "attachment; filename=Something.docx");
Response.End();
Response.BinaryWrite(content);
Różnie z tym kombinowałem i nic… Przy otwieraniu Worda wywala mi coś takiego, że brakuje konwertera jakiegoś albo że plik jest uszkodzony. Jak to lepiej zrobić? ;/ Stronę tworzę w ASP.NET .
_alex
([alex])
2 Grudzień 2010 13:51
#2
A czy na tym komputerze na którym testujesz możesz normalnie otworzyć jakiś “Something.docx” bez ściągania, prosto z dysku?
szydera1
(szydera_)
2 Grudzień 2010 13:53
#3
Tak, można. Znalazłem coś takiego: http://blog.maartenballiauw.be/post/200 … o-XML.aspx ale jeszcze nie wiem jak to zastosować prosto w miarę… Jest jakiś kod to może coś tu będzie.
matzu
(Tomek Matz)
2 Grudzień 2010 15:07
#4
jednak podobne działania dla .docx nie dają rady: Response.ContentType = “application/vnd.openxmlformats-officedocument.wordprocessingml.document”; //Response.ContentType = “application/msword”; Response.AddHeader(“Content-disposition”, “attachment; filename=Something.docx”); Response.End(); Response.BinaryWrite(content);
Tutaj jest zła kolejność operacji (powinno być na odwrót):
Response.End();
Response.BinaryWrite(content);
Poza tym Something.docx powinno być w cudzysłowie (choć być może tak jak masz teraz też zadziała).
Mógłbyś też do tego fragmentu kodu dorzucić jeszcze jeden nagłówek HTTP, a mianowicie Content-Length (choć nie jest to konieczne).
Agaton
(Agatonster)
2 Grudzień 2010 17:25
#5
szydera_ ,
Poradnik dla Ciebie
Proszę poprawić tytuł tematu na konkretny, mówiący o problemie. W celu dokonania zaleconej korekty proszę użyć przycisku Edytuj przy poście otwierającym ten temat.
Zignorowanie zalecenia będzie skutkowało usunięciem tematu do Kosza.