Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problemi con upload comportamento strano su dimensioni file

    Ho un problema stranissimo, allora uso questo script per inviare un file di 5,8 MB
    al termine dell'upload vale a dire quando arriva al 100% del caricamento ottengo questo errore

    ----------------------------------------------- >
    ERRORE Microsoft VBScript runtime error '800a01a8' Object required: '' /uploadFilm.asp, line 19
    ----------------------------------------------- > FINE a quel numero di rigo corrisponde
    DatiRicevuti = Request.BinaryRead(ByteRicevuti)
    ------------------------------------------------ > Rigo errore


    premesso che se provo ad uploddare un file di 2 M.B. il tutto funziona benissimo, allora ho pensato bene di impostare per primo


    <%
    Server.ScriptTimeout = 5400
    %>



    dandogli un tempo abbastanza lungo per il Timeout poi ho impostato >
    ucase(EstensioneFile1) = ucase(".mp4")) AND DimensioneFile1 < 66757202148438 then

    accertandomi di stare sopra la dimensione del file che sto inviando, ma l'errore persiste, che altro si può fare? Mi rivolgo ai grandi del forum, Roby, Cavicchi, Baol ecc.ecc. accetto anche soluzioni a pagamento purché nei limiti della ragione, grazie.

    Questo è il resto dello script che già conoscete in questo forum, tra virgolette già discusso e rielaborato per file di grandi dimensioni ma a me non sembra cosi però visto che sopra i due mega va in tilt.

    <%
    dim Upload1
    dim nomeFilemio
    dim nomeDescrittivo

    Function RSBinaryToString(xBinary)
    Dim Binary
    If vartype(xBinary)=8 Then Binary = MultiByteToBinary(xBinary) Else Binary = xBinary

    Dim RS, LBinary
    Const adLongVarChar = 201
    Set RS = CreateObject("ADODB.Recordset")
    LBinary = LenB(Binary)

    If LBinary>0 Then
    RS.Fields.Append "mBinary", adLongVarChar, LBinary
    RS.Open
    RS.AddNew
    RS("mBinary").AppendChunk Binary
    RS.Update
    RSBinaryToString = RS("mBinary")
    Else
    RSBinaryToString = ""
    End If
    End Function

    Function MultiByteToBinary(MultiByte)
    Dim RS, LMultiByte, Binary
    Const adLongVarBinary = 205
    Set RS = CreateObject("ADODB.Recordset")
    LMultiByte = LenB(MultiByte)
    If LMultiByte>0 Then
    RS.Fields.Append "mBinary", adLongVarBinary, LMultiByte
    RS.Open
    RS.AddNew
    RS("mBinary").AppendChunk MultiByte & ChrB(0)
    RS.Update
    Binary = RS("mBinary").GetChunk(LMultiByte)
    End If
    MultiByteToBinary = Binary
    End Function


    Upload1=false
    ByteRicevuti = Request.TotalBytes


    if ByteRicevuti > 0 then

    DatiRicevuti = Request.BinaryRead(ByteRicevuti)
    FileBinario = RSBinaryToString(DatiRicevuti)
    FirmaFile = left(FileBinario,instr(FileBinario,"" & vbCrLf)-1)
    ArrPezzi = split(FileBinario,FirmaFile)

    for item = 1 to ubound(ArrPezzi)-1
    Inizio = instr(ArrPezzi(item),"" & vbCrLf & "" & vbCrLf)
    Intestazione = left(ArrPezzi(item),Inizio-1)
    Inizio = Inizio + len("" & vbCrLf) + len("" & vbCrLf)
    ContenutoFile = mid(ArrPezzi(item),Inizio,len(ArrPezzi(item))-Inizio-1)


    'Recupero campi diversi dal file
    if instr(Intestazione,"Titolo") > 0 then
    Titolo = ContenutoFile
    end if
    if instr(Intestazione,"Testo") > 0 then
    Testo = ContenutoFile
    end if
    'fine

    if instr(Intestazione,"file1") > 0 then
    i = instr(Intestazione,"filename=")
    j = instr(i + 10,Intestazione,chr(34))
    NomeUpload = mid(Intestazione,i + 10,j-i-10)
    i = instrRev(NomeUpload,"\")
    if i<>0 then
    NomeFile = mid(NomeUpload,i + 1)
    else
    NomeFile = NomeUpload
    end if

    mioInizioDescr = instr(ArrPezzi(2),"" & vbCrLf & "" & vbCrLf)
    mioIntestazioneDescr = left(ArrPezzi(2),mioInizioDescr-1)
    mioInizioDescr = mioInizioDescr + len("" & vbCrLf) + len("" & vbCrLf)
    mioContenutoFileDescr = mid(ArrPezzi(2),mioInizioDescr,len(ArrPezzi(2))-mioInizioDescr-1)
    nomeDescrittivo=mioContenutoFileDescr

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Upload1 = True
    DimensioneFile1 = len(ContenutoFile)
    EstensioneFile1 = right(NomeFile,4)
    if (len(NomeFile)-4) > 0 then
    NomeFile1 = left(NomeFile,len(NomeFile)-4)
    end if

    if (ucase(EstensioneFile1) = Ucase(".avi") or Ucase(EstensioneFile1) = ucase(".mpg") or ucase(EstensioneFile1) = ucase(".wmv") or ucase(EstensioneFile1) = ucase(".mov")or ucase(EstensioneFile1) = ucase(".mp4")) AND DimensioneFile1 < 66757202148438 then

    Set textStream = FSO.CreateTextFile(server.MapPath(logo) & "/"&NomeFile1&session.SessionID&"F"&EstensioneFi le1, True, False)

    textStream.Write ContenutoFile
    textStream.Close

    Set textStream = Nothing

    contF=1

    else
    session("film")="no"
    response.Write("Il formato del filmato non è valido o la dimensione del file è troppo grande. I formati supportati sono .avi, .mpg, .wmv, .mov, .mp4 e la dimensione massima è di MB. 6.6757202148438
    </br> <center> < < Torna Indietro </center> ")

    end if

    Set FSO = Nothing

    end if
    next
    End if
    if contF=1 then
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Premesso che questo script è vecchio come il cucco e dovresti usare qualcosa di più moderno, il problema potrebbe essere legato al fatto che vi sia una limitazione a livello server.
    http://www.virtualsecrets.com/iis-metabase.html

    Roby

  3. #3

    Re-Roby

    Grazie Roby per la risposta comunque devo dire che gallina vecchia fa buon brodo, poi l'importante è che funzioni un'applicazione la bibbia esiste da secoli
    Vabbè a parte l'umorismo cosa devo cercare nello specifico?

    questo script gira su ARUBA non su IIS in locale

    Grazie ancora, a presto.

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Allora non puoi far nulla.
    Devi solo svecchiare lo script utilizzando il componente AspUpload della Persits che puoi/devi usare su Aruba:
    http://vademecum.aruba.it/start/Persits/

    Roby

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    ricorda che non puoi usare persits in locale se non acquisti il componente.
    per usarlo bisogna registrarlo sul server in uso e per fare questo ti serve la chiave fornita dal produttore.

  6. #6

    Re:Vincent.Zeno

    Spetta, spetta spiegati meglio vale a dire per IIS?

    E in quale elemento o file viene individuata questa cosa che hai postato?

    In quel file zip ci sono delle cartelle tra le quali una che si chiama bin che contiene delle dll ovviamente fatte dal produttore, pronte x essere usate in relazione ed in funzione dei file prestati in uso e comodato, almeno immagino o non è cosi?

    La cartella bin con le dll su IIS non funzionano in relazione ai files.asp? e perchè? cosa è che deve essere richiesto al produttore? Link aruba lo conosci dove viene spiegata questa cosa?

    Zeno se ne sai di + ti prego di spiegarmi, ciao e grazie ancora.

  7. #7
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    semplicemente:

    -il componente è a pagamento.
    -per utilizzarlo devi registrarlo nel server in uso.
    -per farlo devi comprare la chiave.
    -avere solo le librerie (quelle che hai scaricato tu) è inutile.

    il provider in questione ha comprato licenze illimitate e quindi costano poco,
    comprarne una per casa tua è dispendiosa.
    ma se a te interessa particolarmente e pensi che valga spendere perché hai moltissimo lavoro che te lo ripaga allora ha una senso

  8. #8

    Re-re:Vincent.Zeno

    Senti non te la prendere ma continuo a non capire, al momento che io ho uno spazio su Aruba.it nel quale spazio ho già una cartella di nome bin che loro ti danno a disposizione quando compri un dominio, poi, Aruba mi fa scaricare le dll con tanto di cartella già preconfezionata identica "BIN" se sono loro che l'hanno acquistata sta benedetta licenza illimitata, la metteranno a disposizione dei clienti immagino, quindi scusami tanto ma se non sei + preciso e rimani sul vago io non capisco proprio.
    Ti riferisci alla registrazione delle DLL come si fa in locale su disco fisso? Idem su server Aruba si dovrebbe fare?
    Se è questo che intendi credo che siano già registrate sui server Aruba altrimenti non avrebbe senso metterle a disposizione dei loro clienti, in + te le fanno scaricare come possibili soluzioni vedi LInk Roby, quindi bo!! Non ho capito che intendi.

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Voleva semplicemente dirti che su Aruba già tutto funziona senza fare nulla, puoi da subito usare i componenti che sono installati sul server.
    Ma poiché, molto probabilmente, prima di caricare i progetti online li vorrai testare e provare in locale, le stesse dll che usi sul server le devi installare sul tuo pc di sviluppo locale, acquistandole.

    Roby

  10. #10
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783

    Re: Re-re:Vincent.Zeno

    Originariamente inviato da ALESSANDRO007
    credo che siano già registrate sui server Aruba
    ovvio, altrimenti non funzionerebbero


    Voleva semplicemente dirti che su Aruba già tutto funziona senza fare nulla, puoi da subito usare i componenti che sono installati sul server

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.