Tengo la siguiente página con la que intento que el usuario introduzca un archivo y un titulo para el mismo:
Código:
<html>
<body>
<form name="frmSend" method="POST" action="sube.asp" enctype="multipart/form-data">
Archivo: <input name="attach1" type="file" size=35><br>
Titulo: <input type="text" name="titulo"><br>
<input type=submit value="Upload">
</form>
</body>
</html>
El formulario llama a esta otra página que es la que se encarga de recoger los datos del formulario y subir el archivo haciendo uso del
freeaspupload.asp:
Código:
<%@ Language=VBScript %>
<%
option explicit
Response.Expires = -1
Server.ScriptTimeout = 600
%>
<!-- #include file="freeaspupload.asp" -->
<%
Dim saveFiles
Dim uploadsDirVar
uploadsDirVar = "d:\provis\aspupload"
Dim Upload, fileName, fileSize, ks, i, fileKey
Set Upload = New FreeASPUpload
Upload.Save(uploadsDirVar)
SaveFiles = ""
ks = Upload.UploadedFiles.keys
If (UBound(ks) <> -1) Then
SaveFiles = "<B>Files uploaded:</B> "
For Each fileKey In Upload.UploadedFiles.keys
SaveFiles = SaveFiles & Upload.UploadedFiles(fileKey).FileName & " (" & Upload.UploadedFiles(fileKey).Length & "B) "
Next
Else
SaveFiles = "The file name specified in the upload form does not correspond to a valid file in the system."
End If
SaveFiles = SaveFiles & "<br>Titulo = " & Upload.Form("titulo") & "<br>"
%>
<HTML>
<HEAD>
<TITLE>Resultado subida</TITLE>
</HEAD>
<BODY>
<%=SaveFiles%><br><br>
</BODY>
</HTML>
El problema viene cuando el usuario introduce una 'ñ' o un carácter acentuado en el campo de texto. En ese caso, ocurre que:
1) Unas veces salta un error en el módulo freeaspupload,asp en alguna de las funciones AscB
2) Otras veces se ejecuta correctamente pero los carácteres citados acaban convertidos en '^' o similares.
No he sido capaz de hacer funcionar ninguna de las soluciones que he encontrado por internet y en este mismo foro.
Evidentemente el problema está relacionado con los juegos de caracteres, pero ahí estoy encallado.
¿Alguien me puede dar una explicación poco menos que 'para torpes' que haga funcionar el sencillo ejemplo propuesto?
Muchísimas gracias de antemano.