kan man göra med javascript ,
om man laddar upp en bild då bilden får ett nytt namn,
i så fall kan ni visa hur? 1000 Tack
MVH/cupy
upload
72 svar · 1 133 visningar · startad av cupy
Antar att du laddar upp den med asp eller dylikt?
Sök i så fall under asp och du lär finna hyfsat med svar.
ja det ska vara asp och jag sökte men de passar inte in i min script och jag kan inte göra den själv så jag tänkte om det finns enklare lösning med jscript
SÅ... Finns det lösning på detta?
Visa kod.
räcker den? (kanske det våre bäst att flytta tråden till asp då)
<!--#include file="Loader.asp"-->
<%On Error Resume Next
Response.Buffer = True
' load object
Dim load
Set load = new Loader
' calling initialize method
load.initialize
' Check if any files were uploaded
' File binary data
Dim fileData
fileData = load.getFileData("file")
' File name
Dim fileName
fileName = LCase(load.getFileName("file"))
' File path
Dim filePath
filePath = load.getFilePath("file")
' File path complete
Dim filePathComplete
filePathComplete = load.getFilePathComplete("file")
' File size
Dim fileSize
fileSize = load.getFileSize("file")
' File size translated
Dim fileSizeTranslated
fileSizeTranslated = load.getFileSizeTranslated("file")
' Content Type
Dim contentType
contentType = load.getContentType("file")
' No. of Form elements
Dim countElements
countElements = load.Count
' Value of text input field "datum"
Dim datum
datum = load.getValue("datum")
' Value of text input field "namn"
Dim namn
namn = load.getValue("namn")
' Value of text input field "telefon"
Dim telefon
telefon = load.getValue("telefon")
'\*\*\*\*\*\*\*
' Value of text input field "rubrik"
Dim rubrik
rubrik = load.getValue("rubrik")
' Value of text input field "epost"
Dim epost
epost = load.getValue("epost")
Dim kategori
kategori = load.getValue("kategori")
Dim pathToFile
pathToFile = Server.mapPath("uploaded/") & "\\" & fileName
' Uploading file data
Dim fileUploaded
fileUploaded = load.saveToFile ("file", pathToFile)
' destroying load object
Set load = Nothing
%>
loader.asp
Class Loader
Private dict
Private Sub Class_Initialize
Set dict = Server.CreateObject("Scripting.Dictionary")
End Sub
Private Sub Class_Terminate
If IsObject(intDict) Then
intDict.RemoveAll
Set intDict = Nothing
End If
If IsObject(dict) Then
dict.RemoveAll
Set dict = Nothing
End If
End Sub
Public Property Get Count
Count = dict.Count
End Property
Public Sub Initialize
Dim binData
binData = Request.BinaryRead(Request.TotalBytes)
getData binData
End Sub
Public Function getFileData(name)
If dict.Exists(name) Then
getFileData = dict(name).Item("Value")
Else
getFileData = stringToByte("Not Found")
End If
End Function
Public Function getValue(name)
If dict.Exists(name) Then
getValue = CStr(dict(name).Item("Value"))
Else
getValue = "Not Found"
End If
End Function
Public Function getFileName(name)
If dict.Exists(name) Then
Dim temp, tempPos
temp = dict(name).Item("FileName")
tempPos = 1 + InStrRev(temp, "\\")
getFileName = Mid(temp, tempPos)
Else
getFileName = ""
End If
End Function
Public Function getFilePath(name)
If dict.Exists(name) Then
Dim temp, tempPos
temp = dict(name).Item("FileName")
tempPos = InStrRev(temp, "\\")
getFilePath = Mid(temp, 1, tempPos)
Else
getFilePath = "Not Found"
End If
End Function
Public Function getFilePathComplete(name)
If dict.Exists(name) Then
getFilePathComplete = dict(name).Item("FileName")
Else
getFilePathComplete = "Not Found"
End If
End Function
Public Function getFileSize(name)
If dict.Exists(name) Then
getFileSize = LenB(dict(name).Item("Value"))
Else
getFileSize = "Not Found"
End If
End Function
Public Function getFileSizeTranslated(name)
If dict.Exists(name) Then
temp = 1 + LenB(dict(name).Item("Value"))
If Len(temp) \<= 3 Then
getFileSizeTranslated = temp & " bytes"
ElseIf Len(temp) \> 6 Then
temp = FormatNumber(((temp / 1024) / 1000), 2)
getFileSizeTranslated = temp & " megabytes"
Else
temp = FormatNumber((temp / 1024), 2)
getFileSizeTranslated = temp & " kilobytes"
End If
Else
getFileSize = "Not Found"
End If
End Function
Public Function getContentType(name)
If dict.Exists(name) Then
getContentType = dict(name).Item("ContentType")
Else
getContentType = "Not Found"
End If
End Function
Private Sub getData(rawData)
Dim separator
separator = MidB(rawData, 1, InstrB(1, rawData, ChrB(13)) - 1)
Dim lenSeparator
lenSeparator = LenB(separator)
Dim currentPos
currentPos = 1
Dim inStrByte
inStrByte = 1
Dim value, mValue
Dim tempValue
tempValue = ""
While inStrByte \> 0
inStrByte = InStrB(currentPos, rawData, separator)
mValue = inStrByte - currentPos
If mValue \> 1 Then
value = MidB(rawData, currentPos, mValue)
Dim begPos, endPos, midValue, nValue
Dim intDict
Set intDict = Server.CreateObject("Scripting.Dictionary")
begPos = 1 + InStrB(1, value, ChrB(34))
endPos = InStrB(begPos + 1, value, ChrB(34))
nValue = endPos
Dim nameN
nameN = MidB(value, begPos, endPos - begPos)
Dim nameValue
If InStrB(1, value, stringToByte("Content-Type")) \> 1 Then
begPos = 1 + InStrB(endPos + 1, value, ChrB(34))
endPos = InStrB(begPos + 1, value, ChrB(34))
midValue = MidB(value, begPos, endPos - begPos)
intDict.Add "FileName", trim(byteToString(midValue))
begPos = 14 + InStrB(endPos + 1, value, stringToByte("Content-Type:"))
endPos = InStrB(begPos, value, ChrB(13))
midValue = MidB(value, begPos, endPos - begPos)
intDict.Add "ContentType", trim(byteToString(midValue))
begPos = endPos + 4
endPos = LenB(value)
nameValue = MidB(value, begPos, endPos - begPos)
Else
nameValue = trim(byteToString(MidB(value, nValue + 5)))
End If
intDict.Add "Value", nameValue
intDict.Add "Name", nameN
dict.Add byteToString(nameN), intDict
End If
currentPos = lenSeparator + inStrByte
Wend
End Sub
End Class
Private Function stringToByte(toConv)
Dim tempChar
For i = 1 to Len(toConv)
tempChar = Mid(toConv, i, 1)
stringToByte = stringToByte & chrB(AscB(tempChar))
Next
End Function
Private Function byteToString(toConv)
For i = 1 to LenB(toConv)
byteToString = byteToString & chr(AscB(MidB(toConv,i,1)))
Next
End Function
%>
<%
Dim fso
Set fso = Server.CreateObject("Scripting.FileSystemObject")
fso.MoveFile "d:\test.txt", "d:\nytest.txt"
%>
Skall du kunna byta filnamnet med!
MVH Jesper
Kanske ...men problemet är att det handlar om bilder och olika typer och jag vet inte vart ska jag lägga till även om din lösning skulle fungera
MVH/cupy
Skulle eventuellt, kanske kunna funka:
fso.MoveFile filepath & fileName, filepath & date()&"_"&fileName
skall byta tex: bild.gif, till 2002-06-10_bild.gif
testade och funkar inte .....fats jag vet inte riktigt vart ska jag lägga in
Har du med detta?
Dim fso
Set fso = Server.CreateObject("Scripting.FileSystemObject")
(Som du måste ha)
....Måste sova. Godnatt :o
Någon annan kanske kan hjälpa annars?!
MVH Jesper
(Flyttar tråden till ASP-forumet.)
Det som händer , vart jag är sätter in den koden i den översta koden då ändrar namnet på mina bilder som jag laddarupp Men den ändrar namnet på de som finns på min hårdisk Alltså efter upload ändras namnet på "original"bilden i min map på den bilden som jag laddatupp , därifrån jag laddat upp. Konstigt
Någon som vet vart ska jag lägga in den eller felet på den?
Tack/cupy
Med den[fso.MoveFile filePathComplete & fileName, filePathComplete & date()&"_"&fileName] händer inget!
OK ..... Jag skulle behöva lite hjälp här,
någon?
Jag vill sätta in den här lille scriptet från (Pellesoft) i min
set rst=con.execute("select max(id) as recordid from tabell")
returnedId = rst("recordid")
rst.close
' hämtar filnamnet på sedvanligt sätt
filename = myRequestFiles(0,1)
' hämtar filextension
extension = right(filename,4)
' bygger det nya filnamnet. Eftersom det exempelvis kan stå 48, så vill vi istället
' att det skall stå 00048 och det kan man göra på följande sätt:
filename = Right("00000" & trim(returnedId), 5)
' bygger ihop det nya filnamnet
newfilename = filename & extension
....Men den funkar inte rakt av, jag behöver er hjälp!
Börja med att byta ut detta
extension = right(filename,4)
mot detta
filename = "filnamnet.jpg"
extension = right(filename,len(filename) - instr(filename,".") +1)
Ifall filen har en ändelse som t.ex. "html" (fyra tecken) kommer inte den gamla funktionen fungera.
Nej , Jag får bara 00000 som filnamn och inget ändelse
MVH/cupy