Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 Ayuda, subir Imagenes
 Foro Bloqueado  Tema Bloqueado


Autor Temas
garfieldmhb
Junior Member

Mexico
162 Posts
Mensajes - 24 Apr 2006 :  21:12:15  Ver Perfil  Enviar Email
Tengo en mi web el codigo para subir imagenes al servidor, mismo que tomé de esta web http://www.asptutor.com/asp/vart.asp?id=131 pero al subir archivos mayores a 200 kb me manda el siguiente error:

Request object error 'ASP 0104 : 80004005'
Operation not Allowed
/Directorio/loader.asp, line 31

Codigo Loader.asp:


<%
' -- Loader.asp --
' -- version 1.5
' -- last updated 6/13/2002

Class Loader
Private dict

Private Sub Class_Initialize
Set dict = Server.CreateObject("Scripting.Dictionary")
End Sub

Private Sub Class_Terminate
If IsObject(intDict) Then
intDict.RemoveAll
Set intDict = Nothing
End If
If IsObject(dict) Then
dict.RemoveAll
Set dict = Nothing
End If
End Sub

Public Property Get Count
Count = dict.Count
End Property

Public Sub Initialize
If Request.TotalBytes > 0 Then
Dim binData
binData = Request.BinaryRead(Request.TotalBytes)
getData binData
End If
End Sub

Public Function getFileData(name)
If dict.Exists(name) Then
getFileData = dict(name).Item("Value")
Else
getFileData = ""
End If
End Function

Public Function getValue(name)
Dim gv
If dict.Exists(name) Then
gv = CStr(dict(name).Item("Value"))

gv = Left(gv,Len(gv)-2)
getValue = gv
Else
getValue = ""
End If
End Function

Public Function saveToFile(name, path)
If dict.Exists(name) Then
Dim temp
temp = dict(name).Item("Value")
Dim fso
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Dim file
Set file = fso.CreateTextFile(path)
For tPoint = 1 to LenB(temp)
file.Write Chr(AscB(MidB(temp,tPoint,1)))
Next
file.Close
saveToFile = True
Else
saveToFile = False
End If
End Function

Public Function getFileName(name)
If dict.Exists(name) Then
Dim temp, tempPos
temp = dict(name).Item("FileName")
tempPos = 1 + InStrRev(temp, "\")
getFileName = Mid(temp, tempPos)
Else
getFileName = ""
End If
End Function

Public Function getFilePath(name)
If dict.Exists(name) Then
Dim temp, tempPos
temp = dict(name).Item("FileName")
tempPos = InStrRev(temp, "\")
getFilePath = Mid(temp, 1, tempPos)
Else
getFilePath = ""
End If
End Function

Public Function getFilePathComplete(name)
If dict.Exists(name) Then
getFilePathComplete = dict(name).Item("FileName")
Else
getFilePathComplete = ""
End If
End Function

Public Function getFileSize(name)
If dict.Exists(name) Then
getFileSize = LenB(dict(name).Item("Value"))
Else
getFileSize = 0
End If
End Function

Public Function getFileSizeTranslated(name)
If dict.Exists(name) Then
temp = 1 + LenB(dict(name).Item("Value"))
If Len(temp) <= 3 Then
getFileSizeTranslated = temp & " bytes"
ElseIf Len(temp) > 6 Then
temp = FormatNumber(((temp / 1024) / 1024), 2)
getFileSizeTranslated = temp & " megabytes"
Else
temp = FormatNumber((temp / 1024), 2)
getFileSizeTranslated = temp & " kilobytes"
End If
Else
getFileSizeTranslated = ""
End If
End Function

Public Function getContentType(name)
If dict.Exists(name) Then
getContentType = dict(name).Item("ContentType")
Else
getContentType = ""
End If
End Function

Private Sub getData(rawData)
Dim separator
separator = MidB(rawData, 1, InstrB(1, rawData, ChrB(13)) - 1)

Dim lenSeparator
lenSeparator = LenB(separator)

Dim currentPos
currentPos = 1
Dim inStrByte
inStrByte = 1
Dim value, mValue
Dim tempValue
tempValue = ""

While inStrByte > 0
inStrByte = InStrB(currentPos, rawData, separator)
mValue = inStrByte - currentPos

If mValue > 1 Then
value = MidB(rawData, currentPos, mValue)

Dim begPos, endPos, midValue, nValue
Dim intDict
Set intDict = Server.CreateObject("Scripting.Dictionary")

begPos = 1 + InStrB(1, value, ChrB(34))
endPos = InStrB(begPos + 1, value, ChrB(34))
nValue = endPos

Dim nameN
nameN = MidB(value, begPos, endPos - begPos)

Dim nameValue, isValid
isValid = True

If InStrB(1, value, stringToByte("Content-Type")) > 1 Then

begPos = 1 + InStrB(endPos + 1, value, ChrB(34))
endPos = InStrB(begPos + 1, value, ChrB(34))

If endPos = 0 Then
endPos = begPos + 1
isValid = False
End If

midValue = MidB(value, begPos, endPos - begPos)
intDict.Add "FileName", trim(byteToString(midValue))

begPos = 14 + InStrB(endPos + 1, value, stringToByte("Content-Type:"))
endPos = InStrB(begPos, value, ChrB(13))

midValue = MidB(value, begPos, endPos - begPos)
intDict.Add "ContentType", trim(byteToString(midValue))

begPos = endPos + 4
endPos = LenB(value)

nameValue = MidB(value, begPos, endPos - begPos)
Else
nameValue = trim(byteToString(MidB(value, nValue + 5)))
End If

If isValid = true Then
intDict.Add "Value", nameValue
intDict.Add "Name", nameN

dict.Add byteToString(nameN), intDict
End If
End If

currentPos = lenSeparator + inStrByte
Wend
End Sub

End Class

Private Function stringToByte(toConv)
Dim tempChar
For i = 1 to Len(toConv)
tempChar = Mid(toConv, i, 1)
stringToByte = stringToByte & chrB(AscB(tempChar))
Next
End Function

Private Function byteToString(toConv)
For i = 1 to LenB(toConv)
byteToString = byteToString & chr(AscB(MidB(toConv,i,1)))
Next
End Function
%>


Alguien sabe como modificar esto...???

Solo Se Que Existo!!

Editado por - garfieldmhb on 24 Apr 2006 21:12:55

Alexis_m20
Senior Member

Chile
1021 Posts
Posted - 25 Apr 2006 :  00:00:07  Ver perfil  Enviar e-mail  Visit Alexis_m20's Homepage
Hola amigo garfielmhb

lo que puede ser es que tu ftp o dominio esta limitado en espacio, ver que tu servidor permita hacer transacciónes de esas carcterizticas.

y que ademas tengas los permisos correspondientes

Si puedo ayudar lo hare
Entren a mi web y registrense y participen http://www.ofistar.cl/foro/Default.aspInicio Pagina

biciclerace
Starting Member


13 Posts
Posted - 27 Nov 2006 :  22:17:46  Ver perfil  Enviar e-mail
hola, tengo el mismo problema.
el server donde esta IIS, esta en mi intranet.
donde se configura el limite del tamaño de los ficheros a subir? nota, a mi me da error 500
gracias, chao

Inicio Pagina

biciclerace
Starting Member


13 Posts
Posted - 29 Nov 2006 :  17:38:28  Ver perfil  Enviar e-mail
hola.
no tengo claro si el problema es del script o no, yo lopruebo en mi estacion de trabajo XP, donde esta isntalado el IIS tambien, y no da ningun error, y me deja subir cualqueir fichero, hacia mi msima maquina. el probelma es cuando pongo el sitio en el server verdadero, que esta en win2003, ahi es donde da el error. no se como ni donde se limita el tamaño de lso ficheros a subir, si es en win o en el IIS. el server es local en al intranet, y el administrador no ha limitado nada. alguien puede ayudar?
gracias

Inicio Pagina

biciclerace
Starting Member


13 Posts
Posted - 30 Nov 2006 :  17:36:11  Ver perfil  Enviar e-mail
hola
encontre esto en internet, lo hice, pero el problema sigue.
-----
If you are running your own server, you will need to make some changes in IIS.

1: Stop the IIS service.
2: Open the file metabase.xml in the c:\Windows\System32\Inetsrv folder.
3. Find the line " AspMaxRequestEntityAllowed "
4. Change it to whatever size you need in bytes (eg. "1073741824" is 1GB).
5. Save the file.
6. Restart IIS.
--------------
chao

Inicio Pagina

biciclerace
Starting Member


13 Posts
Posted - 30 Nov 2006 :  18:26:57  Ver perfil  Enviar e-mail
si se edita el fichero metabase.xml manualmente, al reinciar el IIS, se repone el valor original de la variable xxxxx.
en microsoft encontre este articulo,lo hice segun orientan ahi, y todo funciono ok, o sea, la variable mantuvo su valor y me permite hacer uploads hasta el valor previsto en al variable.
al finnnnnnnnn!!!!!!
chao

Inicio Pagina

biciclerace
Starting Member


13 Posts
Posted - 30 Nov 2006 :  18:27:36  Ver perfil  Enviar e-mail
perdon, olvide el articulo
-------------
To resolve this issue, modify the value in the AspMaxRequestEntityAllowed property to set the maximum number of bytes that are permitted in the entity body of an ASP request. To do this, follow these steps:
1. At a command prompt, type the following command, and then press ENTER:
cd drive:\inetpub\adminscripts
Note In this command to change folders, drive is a placeholder for the hard disk where IIS is installed.
2. At a command prompt, type the following command, and then press ENTER:
cscript adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed size
Note In this command, size is a placeholder for the largest file size upload that you want to allow. The maximum value is 1,073,741,824 bytes. Set this value to the lowest possible value that allows for the functionality that you want.
3. At a command prompt, type the following command, and then press ENTER:
iisreset
----------------

Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar