Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fabiosc80

Dundas Upload

Recommended Posts

E ai Pessoal,

 

Eu denovo..

 

Seguinte... eu sempre usei o AspSmartUpload para fazer os Uploads porem agora o servidor aonde ele esta nao aceita imagens maiores de 200kb acho. Descubri isso pois testei em outro Server e funfou.

 

Porem como os caras do server pelo visto não tao querendo arrumar o esse componente vou ter que fazer no DUNDAS tudo. e olha que ja tava funfando certinho no outro, vou ter que trocar tudo.

 

Quando passa de 200 kb acho ou mais que isso um pouco da esse erro aqui:

 

Request object error 'ASP 0104 : 80004005' Operation not Allowed /multilabor/admin/imgeventosrealinc2.asp, line 23

a linha 23 é essa aqui:

 

mySmartUpload.Upload

A questao é alguem sabe pq nao funfa no server que to tendo que usar e em outro funfa?

 

E como uso o DUNDAS?

 

Aqui no Forum nao achei um exemplo que eu entendesse do DUNDAS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ambos tem o componente??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Explique um pouco melhor, o erro continua sendo com arquivos maiores que 200kb, mesmo usando outro componente? Ou é outro erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta aqui tb fabio...

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza vou postar aqui entao,

 

Seguinte o Dundas eu ja fiz funcionar só falta uns ajustes que o Mario começou a fazer comigo no MP

 

eu tenho que salvar o nome dos arquivos que sobem no upload no banco de dados.

Sao dois campos. que podem ficar hora um vazio hora outro outro, hora os dois e hora todos preenchidos.

 

O mario fez isso aqui pra mim adaptando o código do Smart:

 

I=0For Each file In Upload.FilesFotos = Fotos & "," & Upload.GetFileName(Upload.Files(I).Path)I = I + 1nextFotos = MID(Fotos,2)Foto = SPLIT(Fotos,",")IF I >= 1 THENFotoPequena = Foto(0)END IFIF I >=2 THENFotoGrande = Foto(1)END IF

Porem aqui ocorre o seguinte.

 

Ele salva correto quando tem os dois campos preechidos, ou só o do FotoPequena.

Quando coloco pra subir só o FotoGrande ele grava no campo do foto pequena.

 

oque estaria errado no código do Mario?

Compartilhar este post


Link para o post
Compartilhar em outros sites

fabio como disse na MP ainda não vi a solução...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Explica melhor oque você quer dizer com Foto Pequena e Foto Grande..Qual o objetivo... diz ae.. q agente dá um jeito.. apropósito este server q tem problema com o ASPSMARTUPLOAD é o HOSTLOCATION?? aconteceu a mesma coisa comigo... se for isto é sacanagem velho...vou postar um código de upload em Dundas que adaptei o antigo em SmartUpload beleza?Jaja eu posto.. meu server deu pau,.... ja volto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí esta... comigo funciona...

Mas explica oq você realmente quer que agente adapta....

ASP

[*]

 

[*]<%

 

[*]Caminho "C:\web\seudominio\www\"

 

[*]'On Error Resume Next, passa por cima de possíveis erros

 

[*]On Error Resume Next

 

[*]

 

[*]'Cria uma instancia do objeto Upload e atribui a variável objUpload.

 

[*]Set objUpload Server.CreateObject("Dundas.Upload.2")

 

[*]' Seta a não necessidade de alteração de configurações no servidor.

 

[*]objUpload.UseVirtualDir False

 

[*]'Existe a variável UseUniqueNames, que recebe valor booleano. Estando TRUE

 

[*]'(default), ela vai anexar ao arquivo um número identificador. Estando FALSE,

 

[*]'ela conserva o nome do arquivo original.

 

[*]objUpload.UseUniqueNames False

 

[*]'Deve ser utilizada antes do método 'SaveAs' utilizado logo abaixo

 

[*]objUpload.SaveToMemory

 

[*]'Pega algumas variaveis importantes que estão presentes no form-html que

 

[*]'chama esse script

 

[*]'(é fundamental que estas atribuições só sejam feitas depois de rodar o SaveToMemory

 

[*]'objUpload.MaxFileSize = 150000

 

[*]'set maximum file size allowed to approx. 21 kBytes

 

[*]'voce pode alterar isto

 

[*]objUpload.MaxFileSize = 20500

 

[*]strPath = Caminho

 

[*]'Pega o ID do usuário e o ID do imóvel na Session para juntar ao caminho e gravar a imagem

 

[*]

 

[*]For Each objUploadedFile in objUpload.Files

 

[*]

 

[*]'Aqui começa a pegar a Ext original do aquivo para adcionar ao nome e salvar

 

[*]NomeArquivo objUpload.GetFileName(objUploadedFile.OriginalPath)

 

[*]'Salva o arquivo com o nome original

 

[*]objUploadedFile.SaveAs strPath & NomeArquivo

 

[*]Next

 

[*]

 

[*]'Limpa a instância criada na memória do servidor.

 

[*]Set objUpload = nothing

 

[*]' Vericamos se existe algum erro no codigo acima

 

[*]' Vericamos se existe algum erro no codigo acima

 

[*]If Err <> 0 Then

 

[*]' Mensagem de erro

 

[*]response.write err.description

 

[*]Else

 

[*]%>

 

[*]

 

[*]<br><div align="center">

 

[*]<center>

 

[*]<BR>Imagem Transferida com Sucesso:<BR></span>

 

[*]<span class="TextoNormal">Nome do Arquivo <%=NomeArquivo%>

 

[*]<br>

 

[*]<%

 

[*]End If 

 

[*]%> 

 

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Explica melhor oque você quer dizer com Foto Pequena e Foto Grande..

Qual o objetivo... diz ae.. q agente dá um jeito.. apropósito este server q tem problema com o ASPSMARTUPLOAD é o HOSTLOCATION?? aconteceu a mesma coisa comigo... se for isto é sacanagem velho...

vou postar um código de upload em Dundas que adaptei o antigo em SmartUpload beleza?

 

Jaja eu posto.. meu server deu pau,.... ja volto

<{POST_SNAPBACK}>

Não é o HostLocation e sim o VIPCOM.

Sobre a imagem grande pra entender melhor é melhor você ler desde o inicio.

 

Esquece o dundas pois eu ja fiz ele. só falta agora recuperar o nome das imagens.

Esta descrito acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você chama de "Foto Pequena" seria tipo um ThumbNail da "Foto Grande"? Se sim, porque você não a faz baseada na "Foto Grande" usando componente de manipulação de imagens?

 

Vou dizer o porquê do problema, quando você faz Upload de 2 imagens você tem a sua matriz com 2 itens, quando Upa apenas 1 a sua matriz só tem o Indice "0" por isso vai sempre para o campo de FotoPequena.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você chama de "Foto Pequena" seria tipo um ThumbNail da "Foto Grande"? Se sim, porque você não a faz baseada na "Foto Grande" usando componente de manipulação de imagens?

 

Vou dizer o porquê do problema, quando você faz Upload de 2 imagens você tem a sua matriz com 2 itens, quando Upa apenas 1 a sua matriz só tem o Indice "0" por isso vai sempre para o campo de FotoPequena.

<{POST_SNAPBACK}>

Salgado não da pois a FotoPequena é Diferente da FotoGrande e mesmo que fosse pra ser iguais tem a questao da definição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal nao tem jeito,

 

Preciso acabar de desenvolver o código que o Mario começou a fazer pra mim porem não entendo como fazer.

 

Seguinte vou explicar em detalhes oque preciso.

 

Depois que eu faço o upload pelo DUNDAS (ja esta funcionando isso aqui)

 

eu preciso recuperar o nome dos arquivos que ele sobe pra net pra gravar no banco de dados.

 

São dois arquivos que ele sobe de uma vez.

 

O "FotoGrande" (que é o arquivo de uma foto grande) e o "FotoPequena"(que é o arquivo de uma foto pequena)

 

A questao é que o código que o Mario desenvolveu pra mim funciona 90% certo.

 

Pois Quando eu subo as duas imagens (Grande e Pequena) de uma vez grava certinho no banco.

 

Quando eu subo só a Pequena (grava certinho)

 

Quando eu não subo nenhuma. grava certinho em branco.

 

Agora quando eu subo só a Imagem Grande (FotoGrande) ele grava errado no banco pois ele reconhece como sendo a FotoPequena.

 

 

o código que o Mario fez fez é isse aqui:

 

I=0For Each file In Upload.FilesFotos = Fotos & "," & Upload.GetFileName(Upload.Files(I).Path)I = I + 1nextFotos = MID(Fotos,2)Foto = SPLIT(Fotos,",")IF I >= 1 THENFotoPequena = Foto(0)END IFIF I >=2 THENFotoGrande = Foto(1)END IF

e o da página inteira é esse aqui.

 

O código completo com Dundas estou colocando abaixo. Lembrando que o Dundasesta funcionando oque nao consigo é pegar os nomes dos arquivos na ordem certa.

 

segue abaixo:

 

<!--#include file="conexao.asp"--><%Dim NomedoProduto,Preco,FotoPequena,FotoGrande,Especificacoes,BC,TB,Fotos,FotoAbreBancoFilePath=Server.MapPath("Upload")Set Upload = Server.CreateObject("Dundas.Upload.2")Upload.UseUniqueNames = falseUpload.MaxFileSize = 2480000Upload.Save FilePathNomedoProduto       = Trim(Replace(Upload.form("NomedoProduto"),"'",""))Preco       = Trim(Replace(Upload.form("Preco"),"'",""))Especificacoes       = Trim(Replace(Upload.form("Especificacoes"),"'",""))I=0For Each file In Upload.FilesFotos = Fotos & "," & Upload.GetFileName(Upload.Files(I).Path)I = I + 1nextFotos = MID(Fotos,2)Foto = SPLIT(Fotos,",")IF I >= 1 THENFotoPequena = Foto(0)END IFIF I >=2 THENFotoGrande = Foto(1)END IF

Compartilhar este post


Link para o post
Compartilhar em outros sites
Criando a página que enviará os arquivos:<%Response.Buffer = trueon error resume next'declara as variáveisdim objUploaddim strMessage'cria instância do objetoset objUpload = server.CreateObject("Dundas.Upload.2")'verifica um possível erroif err.number <> 0 thenResponse.Redirect "Dundas.asp?Message=" & err.descriptionend if'estipula o tamanho máximo do arquivoobjUpload.MaxFileSize = 1048576 'formatando o nome do arquivoobjUpload.UseUniqueNames = false'informa o path onde os arquivos serão salvos'obs: o diretório deve ter permissão de escritaobjUpload.Save "e:home\xyz\web\teste"dim temp'verifica erroif IsEmpty(objUpload.Form("txtName")) = false then temp = " "if err.number <> 0 thenstrMessage = objUpload.Form("txtName") & temp & "Falha, ocorreu o erro: " & err.description'mensagem de sucessoelsestrMessage = "Upload realizado com sucesso pelo" & temp & objUpload.Form("txtName") & "."end if Response.Redirect "Dundas.asp?Message=" & strMessage'destroi o objetoset objUpload = nothing%>Em nosso exemplo foi usado o diretório teste. Substitua pelo diretório que você deseja gravar o arquivo que será enviado. Esse diretório deve necessariamente ter permissão de escrita e essa permissão pode ser cedida através do painel de controle no link Aplicativos/Permissões. Você também deve alterar, na linha e:\home\xyz\web\teste, o xyz pelo seu usuário dentro da LocaWeb. Agora faça um formulário que passará as informações ao script asp responsável por chamar o componente.Use a seguinte tag input no seu formulário:<input NAME="File1" TYPE="file"><input NAME="File2" TYPE="file">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dilouco acho que você nao entendeu oque eu expliquei ali.Como eu disse o DUNDAS esta funcionando e nao preciso dele e sim do final do código na hora de pegar o nome pra gravar no banco. Veja la oque esta acontecendo no que eu descrevi que você vai entender..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se não der certo avise....

Eu utilizei outro Componente, mas acho que as propriedades são as mesmas.

 

Página que vai enviar

<html><Form Name="frm" EncType="multipart/form-data" method="POST" action="teste2.asp"><Input Type="File" Name="FotoGrande"><Input Type="File" Name="FotoPequena"><Input type="submit" value="Submit"></form></html>
Página que vai receber os arquivos

Set ObjUp = Server.CreateObject("Persits.Upload")ObjUp.Save For i = 1 To ObjUp.Files.Count	if Ucase(ObjUp.Files.item(i).Name) = "FOTOPEQUENA" then  ObjUp.Files.item(i).Move "C:\FotoPequena"	End if		if Ucase(ObjUp.Files.item(i).Name) = "FOTOPEQUENA" then  ObjUp.Files.item(i).Move "C:\FotoGrande"	End ifNext

Obs: A propriedade "Name" da coleção retorna o nome do campo do FORM.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcelo, Vou ver se esse Server tem o Persists, ai testo.Mas esse código que você fez é pra aquilo que eu expliquei?Tipo é que o pessoal acho que nao entendeu aqui ainda, tirando o Mario.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.