none
Como copiar um arquivo que se encontra no Resource do projeto. RRS feed

  • Pergunta

  • Olá pessoal, nessa rotina, eu consigo copiar um arquivo que está na pasta c:\loja para uma outra pasta c:\loja\som

    File.Copy("c:\\loja\\DingDong.wav", "c:\\loja\\som\\DingDong.wav", false);

    Como faço para copiar um arquivo, onde a origem desse arquivo, é o RESOURCE do projeto, da forma como está, só consigo fazer a cópia, se o sistema for executado no servidor porque o arquivo existe, mas nas estações, eu preciso copiar o arquivo do Resources do projeto, eu preciso copiar esse arquivo independente de onde o sistema está sendo executado, nas estações por exemplo esse arquivo não existe, então preciso copiar do Resource.

    File.Copy("c:\\loja\\RESOURCES\\DingDong.wav", "C:\\loja\\SOM\\DingDong.wav", false);

    Windows Form, C#

    sexta-feira, 15 de dezembro de 2017 21:04

Respostas

  • Olá Porter,

    Tente isso

    var arquivo = Properties.Resources.DingDong;
    var byteArquivo = new byte[arquivo.Length];
    arquivo.Read(byteArquivo, 0, byteArquivo.Length); 
    
    File.WriteAllBytes("C:\\loja\\SOM\\DingDong.wav", byteArquivo);



    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    • Marcado como Resposta Porter Porter sábado, 16 de dezembro de 2017 12:54
    sábado, 16 de dezembro de 2017 12:43

Todas as Respostas

  • Olá Porter,

    Se você adicionou o arquivo em seu resource é provável que esteja com um nome assim "DingDong"

    Então você pode simplesmente salvar ele assim:

    File.WriteAllBytes("C:\\loja\\SOM\\DingDong.wav", Resources.DingDong);


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    sábado, 16 de dezembro de 2017 02:46
  • Olá Rafael,

    Não está compilando, está sublinhando o comando inteiro com erro, quando digito o comando, está encontrando tudo corretamente, mas na hora de compilar da erro.

    Erro 13 The best overloaded method match for 'System.IO.File.WriteAllBytes(string, byte[])' has some invalid arguments C:\loja\teste.cs 211

    Erro 14 Argument 2: cannot convert from 'System.IO.UnmanagedMemoryStream' to 'byte[]' C:\loja\teste.cs 211

    sábado, 16 de dezembro de 2017 11:28
  • Olá Porter,

    Tente isso

    var arquivo = Properties.Resources.DingDong;
    var byteArquivo = new byte[arquivo.Length];
    arquivo.Read(byteArquivo, 0, byteArquivo.Length); 
    
    File.WriteAllBytes("C:\\loja\\SOM\\DingDong.wav", byteArquivo);



    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    • Marcado como Resposta Porter Porter sábado, 16 de dezembro de 2017 12:54
    sábado, 16 de dezembro de 2017 12:43
  • Perfeito Rafael,

    Muitissimo Obrigado.

    sábado, 16 de dezembro de 2017 12:54