Προς το περιεχόμενο

ASP upload file path σε SQL server


focus

Προτεινόμενες αναρτήσεις

Δημοσ.

Παιδιά έχω λιώσει προσπαθώ να κάνω ένα 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>

Δημοσ.

Τελικά δούλεψε . Απλά στο image description όταν γράφω ελληνικά πάει και κάνει εγγραφή στη βάση ???????????? Ξέρει κανείς πώς να το διορθώσω?

Δημοσ.
Τελικά δούλεψε . Απλά στο image description όταν γράφω ελληνικά πάει και κάνει εγγραφή στη βάση ???????????? Ξέρει κανείς πώς να το διορθώσω?

 

 

Αν είσαι σε SQL SERVER πρέπει το πεδίο να είναι nvarchar και όχι varchar και πρέπει να βάζεις ένα N πρίν από το κείμενο ..

 

δλδ

 

>insert into sometable (somefield) values( N'ελληνικά' ) 

 

αυτά όλα αν χρησιμοποιείς unicode (utf-8) στη σελίδα σου (που αν δεν το κάνεις θα πρέπει, για να μη χρειάζεται να ασχολείσαι με διαφορετικά encodings..)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...