focus Δημοσ. 19 Μαρτίου 2010 Δημοσ. 19 Μαρτίου 2010 Παιδιά έχω λιώσει προσπαθώ να κάνω ένα upload με asp και δεν μπορώ. Έχω κάνει include το upload.asp αλλά σκάει error 500 συνέχεια. Σας παραθέτω τον κώδικα αρχικά για την πρώτη σελίδα με την φόρμα. Την fileupload.asp και κατόπιν την uploadthisfile.asp. Να σας πω πως το αρχείο ανεβαίνει στον φάκελο temp που το στέλνω, με το που βάζω το recordset για το insert στη βάση βγαίνει το error. ><%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <form action="uploadThisFile.asp" method="post" enctype="multipart/form-data" name="form1"> <p> file to upload <input name="file" type="file" id="file"/> </p> <p>Description <input name="description" type="text" id="description" /> </p> <p> <input name="action" type="hidden" value="upload" id="action" /> <input name="submit" type="submit" value="submit" /> </p> </form> </body> </html> ><%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!--#include file="upload.asp" --> <!--#include file="Connections/test_upload.asp" --> <% Dim Uploader, File Set Uploader = GetASPUploader Set File = Uploader.AddFile("file") File.ValidFileTypes = "doc,pdf,txt,xls,mdb,jpg,gif,bmp,png" File.MaxSize = 1024*1024 File.Overwrite = false Uploader.Destination = "C:\Temp" Server.ScriptTimeout = 900 On Error Resume Next Uploader.Upload If Err Then Response.Write err.description Response.End() else Response.Write("to upload egine") End If <% ' IIf implementation Function MM_IIf(condition, ifTrue, ifFalse) If condition = "" Then MM_IIf = ifFalse Else MM_IIf = ifTrue End If End Function %> <% Dim cAddDetail__@@varName@@ cAddDetail__@@varName@@ = "@@defaultValue@@" If (@@runtimeValue@@ <> "") Then cAddDetail__@@varName@@ = @@runtimeValue@@ End If %> Set cAddDetail = Server.CreateObject ("ADODB.Command") cAddDetail.ActiveConnection = MM_test_upload_STRING cAddDetail.CommandText = "INSERT INTO dbo.tblUploadedFiles (Filename, Description) VALUES (?,? ) " cAddDetail.Parameters.Append cAddDetail.CreateParameter("myFile", 200, 1, 100, MM_IIF(File.Name, File.Name, cAddDetail__myFile & "")) cAddDetail.Parameters.Append cAddDetail.CreateParameter("myDescription", 200, 1, 100, MM_IIF(Uploader.Form("description"), Uploader.Form("description"), cAddDetail__myDescription & "")) cAddDetail.CommandType = 1 cAddDetail.CommandTimeout = 0 cAddDetail.Prepared = true cAddDetail.Execute() Set Uploader=Nothing %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> </body> </html>
krakkhed Δημοσ. 20 Μαρτίου 2010 Δημοσ. 20 Μαρτίου 2010 Ρύθμισε τον server σου να δείχνει τις λεπτομέρειες στα λάθη, για να καταλάβεις τι πάει στραβά..
focus Δημοσ. 22 Μαρτίου 2010 Μέλος Δημοσ. 22 Μαρτίου 2010 Τελικά δούλεψε . Απλά στο image description όταν γράφω ελληνικά πάει και κάνει εγγραφή στη βάση ???????????? Ξέρει κανείς πώς να το διορθώσω?
krakkhed Δημοσ. 25 Μαρτίου 2010 Δημοσ. 25 Μαρτίου 2010 Τελικά δούλεψε . Απλά στο image description όταν γράφω ελληνικά πάει και κάνει εγγραφή στη βάση ???????????? Ξέρει κανείς πώς να το διορθώσω? Αν είσαι σε SQL SERVER πρέπει το πεδίο να είναι nvarchar και όχι varchar και πρέπει να βάζεις ένα N πρίν από το κείμενο .. δλδ >insert into sometable (somefield) values( N'ελληνικά' ) αυτά όλα αν χρησιμοποιείς unicode (utf-8) στη σελίδα σου (που αν δεν το κάνεις θα πρέπει, για να μη χρειάζεται να ασχολείσαι με διαφορετικά encodings..)
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.