Inquiridor
Upload com o DUNDAS

Pergunta
-
Caros Amigos,
Eu estou precisando salvar uma imagem usando o Upload do DUNDAS com um nome específico de arquivo. Trata-se do seguinte: Vamos tomar como exemplo que o ID de um usuário seja 325. Então ao enviar uma imagem sua (exemplo: carlos.jpg) e o script deve salvar no diretório como i0000325.jpg
O script de Upload funciona legal, mas para efeito de programação seria viável usar essa nomeclatura para que eu não precise guardar o nome da imagem no banco de dados.
Agradeço a ajuda.
Todas as Respostas
-
Olha, isso é independente se você está usando o Dundas ou o proprio FileUpload do ASP.Net 2.0. Simplesmente quando vc salvar o arquivo (FileUpload.SaveAs, por exemplo) vc coloca o nome que quiser. Lembre apenas de tomar cuidado de guardar o nome certo no banco, e prestar atenção em rotinas que precisem alterar o nome da imagem, para manter o nome do arquivo e nome no banco sincronizados.
É isso. Boa Sorte!
[]'s
Fabio Alves -
-
Exato
Mas preste atenção aonde vc vai salvar. Por exemplo, se vc vai salvar na pasta "\imagens" então você deve fazer assim:
Fileupload.Save( Server.MapPath("\imagens\Arquivo.jpg"))
o Server.MapPath transforma o diretorio virtual num diretorio fisico[]'s
Fabio -
Sobre guardar o nome da imagem no banco, é uma boa prática. Pq vc pode mudar a regra de nomenclatura, e não precisará alterar os arquivos de imagem posteriormente, uma vez no banco, basta buscar o nome pronto do banco. Vc deve modelar de uma forma que fique facil a busca.
-
pessoal.. me desculpe invadir dessa orma..
porém estou com um grande problema..
tenho 2 dúvidas..
1º ) o dundas funciona no win xp?? como?? pois tentei instala-lo em casa e ferrou tudo.
2º) ja que ferrou tudo . instalei o Windows Server 2003 .. e adivinhem .. funcionouuuu!!!´só que agora o dreamweaver não instala!!!!! ¬¬ ou seja.. trampei um buraco e abri outro!! alguem ai sabe se o server 2003 roda o DW ??? se rodar ql pode ser o problema?? tipo..ele da erro fatal na hora da execução do programa!!!!!!!!!
alguem pode me ajudar?!!!!!!!!!!!!!
-
-
AOOOOO..
SEGUINTE.. só estou postando para dar a solução do meu problema..
entrem no newsgroup na sessão asp.. tem um post meu la que fala.. "Dundas Upload funciona.. é um milagre!!!!!" rsrsrs..
la eu mostro como funcionou comigo..
espero ter ajudado muitas pessoas.. x)
abçs!
-
-
Me parece que o Dundas Upload foi "descontinuado" e a Dundas.com não dá mais suporte a este componente. No site deles você só encontra referências e suporte ao Dundas Chart, Gauge, Map e Calendar, tente http://support.dundas.com/forum/
-
vou colocar aki um exemplo de upload sem componente , ve ae se ajuda.
-- pagina "cadastro.asp"
<!-- #include file='upload_funcoes.asp' -->
<%
' Chamando Funções, que fazem o Upload funcionar
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin' Recuperando os Dados Digitados ----------------------
contentType = UploadRequest.Item("foto").Item("ContentType")
filepathname = UploadRequest.Item("foto").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
filename = Replace(filename,".","_"& rndit &".")
value = UploadRequest.Item("foto").Item("Value")Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
'FAZ O UPLOAD DAS IMAGENS EM UMA PASTA (/COBERTURA).
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
Set MyFile = ScriptObject.CreateTextFile(Server.mapPath("../zero4/cobertura/"&filename&""))
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close
'renomeia ao arquivo
Function rndit()
Dim RndTemp
Randomize
RndTemp = Rnd * 100
RndTemp= Int(RndTemp)
rndit = RndTemp
End Function
abredb.execute("INSERT INTO foto (codigo,nome,foto) values ('"& codigo &"','"& nome &"','"& filename &"')")Response.Redirect "editCobertura.asp?codigo=" & codigo &""
%>
-- Pagina "upload_funcoes.asp"
<%
' Upload Sem componentes ---------------------------------------
Sub BuildUploadRequest(RequestBin)
on error resume nextPosBeg = 1
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
boundary = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
BoundaryPos = InStrB(1, RequestBin, boundary)Do Until (BoundaryPos = InStrB(RequestBin, boundary & getByteString("--")))
Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")Pos = InStrB(BoundaryPos, RequestBin, getByteString("Content-Disposition"))
Pos = InStrB(Pos, RequestBin, getByteString("name="))
PosBeg = Pos + 6
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
Name = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
PosFile = InStrB(BoundaryPos, RequestBin, getByteString("filename="))
PosBound = InStrB(PosEnd, RequestBin, boundary)If PosFile <> 0 And (PosFile < PosBound) Then
PosBeg = PosFile + 10
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
FileName = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "FileName", FileName
Pos = InStrB(PosEnd, RequestBin, getByteString("Content-Type:"))
PosBeg = Pos + 14
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
ContentType = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "ContentType", ContentType
PosBeg = PosEnd + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
Else
Pos = InStrB(Pos, RequestBin, getByteString(Chr(13)))
PosBeg = Pos + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
End IfUploadControl.Add "Value", Value
UploadRequest.Add Name, UploadControl
BoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary)
Loop
End SubFunction getByteString(StringStr)
For i = 1 To Len(StringStr)
Char = Mid(StringStr, i, 1)
getByteString = getByteString & ChrB(AscB(Char))
Next
End FunctionFunction getString(StringBin)
getString = ""
For intCount = 1 To LenB(StringBin)
getString = getString & Chr(AscB(MidB(StringBin, intCount, 1)))
Next
End Function' Fim upload sem Componentes -----------------------------------------
%>