anjelinio:.. κάθε αρχείο έχει κάποια bytes στην αρχή του, τα οποία υποδηλώνουν τον τύπο του αρχείου. Αυτά αν δεν κάνω λάθος είναι στάνταρ πράγματα, αλλά δυστυχώς δε θυμάμαι αυτή τη στιγμή κάποιο link να γράψω, πάνε χρόνια που χρησιμοποίησα αυτό το κόλπο. Κάνε κάποιο σχετικό Google search κι αν εξακολουθείς να μη βρίσκεις άκρη, επανερχόμαστε.
Νομίζω ότι το structure κάθε κεφαλίδας αρχείου, ακόμα και του ίδιου τύπου, μπορεί να διαφέρει ανάλογα με το πρόγραμμα που έχει φτιαχτεί.
Σίγουρα υπάρχουν προγράμματα που καταφέρνουν να κάνουν extract τέτοια πληροφορία αλλά πρέπει να είναι αρκετά περίπλοκη υπόθεση και μάλλον μεγαλύτερη από τις 2-3 γραμμές που θα'θελα να το κάνω αν υπήρχε ήδη κάτι από τη .net.
Αν σου βρίσκεται βέβαια κάποια καλή λύση, feel free :)
Τελικά έλυσα το πρόβλημά μου ορίζοντας το ContentType ως "application/octet-stream" που είναι ένας γενικός τύπος ώστε να αναγκάζει τον browser να ρωτάει για open ή save as.
Προηγουμένως, χωρίς ContentType, είτε έπαιζε όπως παραπάνω (ανάλογα τον browser), είτε άνοιγε δεύτερη σελίδα με τα contents του αρχείου, είτε κατέβαζε κατευθείαν το αρχείο προσθέτοντας επιπλέον extension ".html".