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

    [VB.NET] Perdita informazioni con system.net

    invio cosi dal client:
    codice:
                Dim buffer() As Byte
                If NetMsg.CanWrite Then 'Invia la richiesta per il download del file
                    Dim msg As String = "GetDownloadFile C:\"
                    buffer = ASCII.GetBytes(msg)
                    NetMsg.Write(buffer, 0, buffer.Length)
                End If
    e dal server leggo:
    codice:
                   If Msg.IndexOf("GetDownloadFile ") >= 0 Then
                    Dim filePath As String = Replace(Msg, "GetDownloadFile ", "")
    
                    Msgbox Path.GetFileName(filePath) '<----errore
                    End If
    Solo che ottengo un errore che dice che il percorso del file non è corretto esattamente dice:
    Caratteri non validi nel percorso.
    In pratica io dovrei leggere il nome del file del percorso c:\nomefile se lo leggo in un msgbox il filePath sembra corretto ma il valore riportato dal debug gli mette un apice davanti cosi':

    "C:\nomefile


    Qualcuno capisce perchè? Grazie!
    jabjoint

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Esamina la stringa carattere per carattere in debug. Controlla se contiene un carattere non visibile (un Return, un LineFeed).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    quello che è assurdo è che la stringa è giusta compare per bello intero solo il file path
    jabjoint

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da jabjoint
    quello che è assurdo è che la stringa è giusta compare per bello intero solo il file path
    Se l'errore è

    Caratteri non validi nel percorso

    vuol dire che, come ti ho detto, ci sono dei caratteri "non visibili" nella stringa. E se non li vedi, ti "sembra" che la stringa sia esatta, ma non lo è.

    Ora, se fermi il programma nella riga in cui cerchi di aprire il file e controlli il contenuto della variabile, byte per byte, ti accorgerai del problema.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    il valore della modalità di debug mi mette un apice difronte alla stringa ho fermato con il breackpoint, ma l' apice è un carattere che dovrebbe vedersi
    jabjoint

  6. #6
    nel debug ricevo:
    jabjoint

  7. #7
    ...
    Immagini allegate Immagini allegate
    jabjoint

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da jabjoint
    il valore della modalità di debug mi mette un apice difronte alla stringa ho fermato con il breackpoint, ma l' apice è un carattere che dovrebbe vedersi
    Ti ho suggerito di controllare la stringa "byte per byte".

    Prima della MsgBox scrivi


    Dim u8 As Encoding = Encoding.UTF8
    Dim b As Byte() = u8.GetBytes(filePath)

    e blocca il programma per controllare il contenuto di b
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    bhè effettivamente ho provato ed ottengo una bella stringa da 4081 byte ci sono parecchi byte 0 dopo la mia stringa ecco l' errore grazie tante,devo aver sbagliato nell' invio
    jabjoint

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da jabjoint
    bhè effettivamente ho provato ed ottengo una bella stringa da 4081 byte ci sono parecchi byte 0 dopo la mia stringa ecco l' errore grazie tante,devo aver sbagliato nell' invio
    Oh ... finalmente ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.