Dúvida usando Random

09/01/2014

0

Bom dia

Amigos, veja isso, gostaria de entender o funcionamento do Random, quero entender o porque eu tenho o mesmo nome de arquivo?
Agradeço

public partial class frmCadastro : System.Web.UI.Page
{
string diretorio = "";
string nomefoto = "";
Random rdm = new Random(1);

protected void Page_Load(object sender, EventArgs e)
{

}



public void GravaRegistro()
{
if (FileFotoProduto.HasFile)
{

diretorio = MapPath("~/Produtos/");
nomefoto = "produto" + rdm.Next(99999).ToString() + FileFotoProduto.FileName.Substring(FileFotoProduto.FileName.LastIndexOf("."), 4);
FileFotoProduto.SaveAs(diretorio + nomefoto);
listbox.Items.Add( nomefoto );
}


}

protected void btnGravar_Click(object sender, EventArgs e)
{
GravaRegistro();
}


}

Itamar Souza

Itamar Souza

Responder

Posts

09/01/2014

Itamar Souza

Encontrei esta solução, mais se alguém souber sobre o random, responde ai..

public void GravaRegistro()
{
if (FileFotoProduto.HasFile)
{
// usamos o metodo NewGuid da classe System.Guid.
// cria um identificador único. E esse identificador único tem uma probabilidade muito baixa de ser duplicado.
diretorio = MapPath("~/Produtos/");
nomefoto = Guid.NewGuid().ToString("D") + FileFotoProduto.FileName.Substring(FileFotoProduto.FileName.LastIndexOf("."), 4);
// nomefoto = "produto" + rdm.Next(1, 1000000).ToString() + FileFotoProduto.FileName.Substring(FileFotoProduto.FileName.LastIndexOf("."), 4);
FileFotoProduto.SaveAs(diretorio + nomefoto);
listbox.Items.Add(nomefoto);
}


}
Responder

09/01/2014

Leandro Chiodini

Bom dia
A principio teu ramdom esta correto.
Você ja depurou e verificou o que esta vindo nele?
pra ver se ele muda de valor a cada chamada?

Dica:
Pelo que estou vendo você esta usando para nomear uma foto,
não acho a melhor forma de se fazer usando o Ramdom.
acho que seria interessante tu criar um número sequencial para essa finalidade.
só uma dica mesmo...

att,
Chiodini
Responder

09/01/2014

Itamar Souza

Resolvido!!




public partial class frmCadastro : System.Web.UI.Page
{
string diretorio = "";
string nomefoto = "";
Random rdm = new Random(1);

protected void Page_Load(object sender, EventArgs e)
{

}



public void GravaRegistro()
{
if (FileFotoProduto.HasFile)
{
//usando o random : é preciso re-criar o mesmo dentro da chamada
rdm = new Random();
diretorio = MapPath("~/Produtos/");
//usando o Guid.NewGuid() é mais seguro pois este gera uma sequência difícil de se repetir
//nomefoto = Guid.NewGuid().ToString("D") + FileFotoProduto.FileName.Substring(FileFotoProduto.FileName.LastIndexOf("."), 4);
nomefoto = "produto" + rdm.Next(99999).ToString() + FileFotoProduto.FileName.Substring(FileFotoProduto.FileName.LastIndexOf("."), 4);
FileFotoProduto.SaveAs(diretorio + nomefoto);
listbox.Items.Add(nomefoto);
}


}

public void GeraIntervalo()
{

}

protected void btnGravar_Click(object sender, EventArgs e)
{
GravaRegistro();
}


}
Responder

09/01/2014

Leandro Chiodini

Show de bola.

valew pelo retorno.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar