Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Άνοιγμα αρχείου Word από SQL server γνωρίζοντας το id του

Îåêßíçóå áðü ôï ìÝëïò deykas. Τελευταία δημοσίευση από το μέλος deykas στις 13-06-2006, 15:40. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  11-06-2006, 23:44 13892

    Άνοιγμα αρχείου Word από SQL server γνωρίζοντας το id του

    Καλησπέρα.

    Έχω αποθηκεύσει ένα αρχείο word (xls,pdf κ.τ.λ) σε SQL Server ως image. Θέλω με ένα button να καλέσω την αντίστοιχη εφαρμογή (Word,Excel...) και να το ανοίξω. Γνωρίσω το id του στον πίνακα.

    Μπορεί καποιος να βοηθήσει;

    Ευχαριστώ.

  •  12-06-2006, 00:23 13896 σε απάντηση της 13892

    Απ: Άνοιγμα αρχείου Word από SQL server γνωρίζοντας το id του

    Αυτό που μπορείς να κάνεις είναι γράψεις στους headers της σελίδας που θα λάβει το request, τον τύπο του αρχείου - "application/msword" για Word documents, "application/vnd.ms-excel" για Excel documents - και στην συνέχεια να γράψεις κατευθείαν το αρχείο στο response.

    Ένας ωραίος τρόπος θα ήταν να το κάνεις με μία .ashx σελίδα...

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  12-06-2006, 12:43 13906 σε απάντηση της 13896

    Απ: Άνοιγμα αρχείου Word από SQL server γνωρίζοντας το id του

    Δεν γνωρίζω ακριβώς πως γίνονται αυτά για τα οποία μιλάς. Χρειάζομαι βοήθεια για το header και το response. Εννοείς να ανοίγει το αρχείο μέσα σε Webform της εφαρμογής μου;

    Ο κώδικας με τον οποίο διαβάζω ένα αρχείο από τη βάση και το ανοίγω φαίνεται παρακάτω.

    Τα προβλήματα είναι τα εξής: 1. Δεν γνωρίζω πως ανοίγει το αρχείο σε σελίδα της εφαρμογής μου. Αν εννοείς αυτό, σε παρακαλώ βοήθησε.

    2. Το αρχείο ανοίγει στον IE αλλά με το back του IE δεν μπορεί να με επιστρέψει στη σελίδα μου (Warning! Page has expired). ΄Δεν κάνει πάντα expire αλλά τις περισσότερες φορές. Γιατί το κάνει αυτό;

    Dim MyConnection As New SqlConnection
                    Dim myCommand As New SqlCommand("Select * from table where id = somethig", MyConnection)

                    Try
                        myCommand.Connection = _db.OpenConnection
                        Dim myDataReader As SqlDataReader
                        myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)

                        Do While (myDataReader.Read())
                            Response.ContentType = myDataReader.Item("n_image_type")
                            Response.BinaryWrite(myDataReader.Item("i_image"))
                            Response.Flush()
                            Response.End()
                        Loop
                        myCommand.Parameters.Clear()
                        myCommand.Connection.Close()
                        myCommand.Connection.Dispose()
                    Catch SQLexc As SqlException
                        lbl_edit.Text = "Read Failed : " & SQLexc.ToString()
                    End Try

  •  13-06-2006, 01:22 13937 σε απάντηση της 13906

    Απ: Άνοιγμα αρχείου Word από SQL server γνωρίζοντας το id του

    Αυτά που σου είπα σχεδόν τα έχεις ήδη υλοποιήσει:

    Response.ContentType = myDataReader.Item("n_image_type")
    Response.BinaryWrite(myDataReader.Item("i_image"))
    Response.Flush()
    Response.End()

    Οι δύο πρώτες γραμμές κάνουν αυτό ακριβώς που σου είπα.

    Για να δεις θα μπορούσε να γίνει με ένα handler (.ashx) μπορείς να δεις ένα ωραίο άρθρο που υπάρχει στο Using ASHX files to retrieve DB images και περιγράφει πολύ καθαρά τον τρόπο.

    1. Το αρχείο ανοίγει ακριβώς γιατί στο Response.ContentType έχει οριστεί ο τύπος του αρχείου και o ΙΕ ξέρει πως να το χειριστεί. Έτσι με την επιλογή του "Open" από το σχετικό prompt, με την βοήθεια του Word ο IE το ανοίγει.

    2. Είναι η τελευταία σελίδα πριν από το αρχείο postback;

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  13-06-2006, 15:40 13992 σε απάντηση της 13937

    Απ: Άνοιγμα αρχείου Word από SQL server γνωρίζοντας το id του

    Θα δοκιμάσω και το ashx file.

    1. ok ανοίγει Word, excel, pdf αλλά με power point τι γίνεται. Θέλει άλλη προσέγγιση;

    2. Έχει ανοίξει το αρχείο π.χ. Excel στον ΙΕ κανονικά και μόλις κάνω back στον IE μου βγάζει το Expired page. Δεν το κάνει πάντα, αλλά τις περισσότερες φορές. Φταίει κάποια ρύθμιση;

    Ευχαριστώ και πάλι.

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems