Inquiridor
Transferir arquivos via rede em dispositivo mobile

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
Todas as Respostas
-
-
-
-
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