none
Transferir arquivos via rede em dispositivo mobile RRS feed

  • Pergunta

  • Bom dia a todos,

    Estou trabalhando com um dispositivo mobile, o Intermec CN3, eu executo os desenvolvimentos e faço deploy diretamente no aparelho que está conectado via usb na minha máquina utilizando o Active Sync, a aplicação mobile se conecta a internet e faz algumas requisições via http, quando o aparelho está conectado a minha máquina é utilizado a internet que tenho disponível no pc para mandar requisições, quando não está conectado no pc o mobile utiliza uma internet GPRS.

    Estou tendo o seguinte problema, preciso acessar um diretório de rede utilizando o mobile, pegar uns arquivos deste dietório e trazer para o mobile, faço desta forma:

                DirectoryInfo dir = new DirectoryInfo(@"\\eprospects\comgas\EPROSPECTS\images_offline\558");
                FileInfo[] arrFiles = dir.GetFiles();
    
                foreach (FileInfo file in arrFiles)
                {
                    file.CopyTo(@"c:\abc\" + file.Name);
                }
    Acontece que em Windows Application está operação funciona normalmente, mas no mobile não.
    Gostaria de saber como posso fazer isto ou alguma solução para este problema.
    Eu sei que quando vou transferir um arquivo do pc para o mobile, é feito uma conversão de tipo de arquivo pois o sistema de arquivos do mobile é diferente, não sei se isso tem alguma coisa a ver.

    Obrigado por enquanto...

    Allex Menezes
    Microsoft Certified Professional .NET 2.0
    segunda-feira, 7 de dezembro de 2009 13:27

Todas as Respostas

  • Bom dia Allex!

     

    Vc já obteve solução sobre este seu problema? Se teve, post ai o resultado p/ nós. vlw


    Elcio João de Lima - VB6, C#, Plataforma .NET e WM [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    terça-feira, 17 de agosto de 2010 11:57
  • Bom dia Elcio,

    Cara, infelizmente desta forma não consegui, tive que fazer download do arquivo via internet mesmo.

    Abraços,

    Allex


    Allex Menezes de Santana Microsoft Certified Technology Specialist .NET 2.0
    terça-feira, 17 de agosto de 2010 12:42
  • Bom dia amigo.

    Eu fiz isso serializando, depois transferi um byte[] via tcp. Não sei se te ajudaria...


    Desenvolva!!!
    quarta-feira, 18 de agosto de 2010 12:02
  • private bool RequestWebImage(string pstrURL, string nomeFicheiro)
            {
                WebRequest objWReq;
                WebResponse objWResp;
                //Contact the website
                objWReq = HttpWebRequest.Create(pstrURL);
                objWResp = objWReq.GetResponse();
                //Read the answer from the website and store it into a stream
                Stream objStream = default(Stream);
                objStream = objWResp.GetResponseStream();
                byte[] inBuf = new byte[1000000];
                int bytesToRead = (int)inBuf.Length;
                int bytesRead = 0;
                FileStream fstr = default(FileStream);
                while (bytesToRead > 0)
                {
                    int n = objStream.Read(inBuf, bytesRead, bytesToRead);
                    if (n == 0)
                        break;
                    bytesRead += n;
                    bytesToRead -= n;
                }
                fstr = new FileStream(caminhoApp() + "\\" + nomeFicheiro, FileMode.OpenOrCreate, FileAccess.Write);
                fstr.Write(inBuf, 0, bytesRead);
                objStream.Close();
                fstr.Close();
                objWResp.Close();
                GC.Collect();
                return true;
            }

            private string caminhoApp()
            {
                return System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
            }

    tenho este código e funciona por http, tens de ter os ficheiros a copiar num servidor web, vulgo IIS

     

    Cumps,

    Joauim Pais

    quarta-feira, 18 de agosto de 2010 14:36