Avatar billede okidoky Nybegynder
20. september 2006 - 13:00 Der er 14 kommentarer og
1 løsning

rename img asp

Hej

Jeg har et upload script, men den uploader billedet med den samme navn som brugeren kalder, hvordan kan jeg rename billedet i min db?

Her er scriptet:

kommer næste svar
Avatar billede okidoky Nybegynder
20. september 2006 - 13:01 #1
<%
dim strAction
strAction = request("action")

select case strAction
  case "upload"
    UploadFile
  case else
    ShowForm
end select

sub ShowForm %>
<form name="form1" enctype="multipart/form-data"  method="post" action="index.asp?admin&action=upload">
        <table width="300" border="0" cellpadding="2" cellspacing="3">
          <tr>
            <td width="390" class="ha">7. Submit your photo</td>
            <td align="right" class="hb">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2" align="center" class="hb">Upload a .jpg or .gif file from your computer (350000 bytes max):<br />
              <br />

                <input name="img" type="file" id="file" size="35" />
                <br />
                <br />
</td>
          </tr>
          <tr>
            <td colspan="2" align="center" class="hb">
              <input type="submit" name="Submit" value="Finished" />
            </td>
          </tr>
  </table>
</form>
<%

    end sub
sub UploadFile
  dim intPosMIMEHeader, intPosFileDataStart
  dim intPosFileNameStart, intPosFileNameEnd
  dim intPosFileDataEnd, intDataSize
  dim binData, binFileData, binFileName, binStart
  dim strFileName
  dim objFSO, objFile

  intDataSize = request.totalbytes
  binData = request.binaryread(intDataSize)

  intPosMIMEHeader = instrB(binData,chrB(13) & chrB(10)) - 1
  intPosFileDataStart = instrB(binData, chrB(13) & chrB(10) & chrB(13) & chrB(10)) + 4
  intPosFileNameStart = instrB(binData,cstrB("filename=")) + 10 
  intPosFileNameEnd = instrB(intPosFileNameStart,binData,chrB(34))
  binStart = midB(binData,1,intPosMimeHeader)
  binFileName = midB(binData,intPosFileNameStart, _
                    intPosFileNameEnd - intPosFileNameStart)
  intPosFileDataEnd = instrB(intPosMIMEHeader, binData, binStart) - 2

  strFileName = bin2str(binFileName)
  strFileName = right(strFileName, len(strFileName) - instrrev(strFileName,"\"))

  set objFSO = server.createobject("Scripting.FileSystemObject")
  set objFile = objFSO.CreatetextFile(server.mappath("..\img\girls\" & strFileName), _
                                      true, false)
  objFile.write bin2str(midB(binData, intPosFileDataStart, _
                        intPosFileDataEnd - intPosFileDataStart))
   
    objFile.close
      set objFile = Nothing
      set objFSO = Nothing
    %>
    <!--#include file="conn.asp"-->
    <%
      'billedet i en variabel
    set tbl_img = server.CreateObject("ADODB.Recordset")
      tbl_img.Open "tbl_img", conn, 2, 2
   
    tbl_img.AddNew
   
    tbl_img("img") = strFileName
    tbl_img("id_texten") = request.QueryString("id")
    tbl_img("ip") = request.ServerVariables("REMOTE_ADDR")
   
    tbl_img.update   

%>

<%
   
end sub

function bin2str(byref binS)
  ' omdanner en binær følge til en tekststreng
  dim i, strRes
  for i = 1 to lenB(binS)
    strRes = strRes & chr(ascB(midB(binS, i, 1)))
  next
  bin2str = strRes
end function


function cstrB(strS)
  ' omdanner en tekststreng til en binær følge
  dim i, binRes
  for i = 1 to len(strS)
    binRes = binRes & chrB(asc(mid(strS,i,1)))
  next
  cstrB = binRes
end function


%>
Avatar billede madeindk Nybegynder
20. september 2006 - 13:09 #2
<%
dim strAction
strAction = request("action")

select case strAction
  case "upload"
    UploadFile
  case else
    ShowForm
end select

sub ShowForm %>
<form name="form1" enctype="multipart/form-data"  method="post" action="index.asp?admin&action=upload">
        <table width="300" border="0" cellpadding="2" cellspacing="3">
          <tr>
            <td width="390" class="ha">7. Submit your photo</td>
            <td align="right" class="hb">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2" align="center" class="hb">Upload a .jpg or .gif file from your computer (350000 bytes max):<br />
              <br />

                <input name="img" type="file" id="file" size="35" />
                <br />
                <br />
</td>
          </tr>
          <tr>
            <td colspan="2" align="center" class="hb">
              <input type="submit" name="Submit" value="Finished" />
            </td>
          </tr>
  </table>
</form>
<%

    end sub
sub UploadFile
  dim intPosMIMEHeader, intPosFileDataStart
  dim intPosFileNameStart, intPosFileNameEnd
  dim intPosFileDataEnd, intDataSize
  dim binData, binFileData, binFileName, binStart
  dim strFileName
  dim objFSO, objFile

  intDataSize = request.totalbytes
  binData = request.binaryread(intDataSize)

  intPosMIMEHeader = instrB(binData,chrB(13) & chrB(10)) - 1
  intPosFileDataStart = instrB(binData, chrB(13) & chrB(10) & chrB(13) & chrB(10)) + 4
  intPosFileNameStart = instrB(binData,cstrB("filename=")) + 10 
  intPosFileNameEnd = instrB(intPosFileNameStart,binData,chrB(34))
  binStart = midB(binData,1,intPosMimeHeader)
  binFileName = midB(binData,intPosFileNameStart, _
                    intPosFileNameEnd - intPosFileNameStart)
  intPosFileDataEnd = instrB(intPosMIMEHeader, binData, binStart) - 2

  ' Det rettes her:
  strFileName = "Dit nye filnavn her"

  ' strFileName = bin2str(binFileName)
  ' strFileName = right(strFileName, len(strFileName) - instrrev(strFileName,"\"))

  set objFSO = server.createobject("Scripting.FileSystemObject")
  set objFile = objFSO.CreatetextFile(server.mappath("..\img\girls\" & strFileName), _
                                      true, false)
  objFile.write bin2str(midB(binData, intPosFileDataStart, _
                        intPosFileDataEnd - intPosFileDataStart))
   
    objFile.close
      set objFile = Nothing
      set objFSO = Nothing
    %>
    <!--#include file="conn.asp"-->
    <%
      'billedet i en variabel
    set tbl_img = server.CreateObject("ADODB.Recordset")
      tbl_img.Open "tbl_img", conn, 2, 2
   
    tbl_img.AddNew
   
    tbl_img("img") = strFileName
    tbl_img("id_texten") = request.QueryString("id")
    tbl_img("ip") = request.ServerVariables("REMOTE_ADDR")
   
    tbl_img.update   
 
End Sub

Function bin2str(byref binS)
  ' omdanner en binær følge til en tekststreng
  dim i, strRes
  for i = 1 to lenB(binS)
    strRes = strRes & chr(ascB(midB(binS, i, 1)))
  next
  bin2str = strRes
End function


Function cstrB(strS)
 
  ' omdanner en tekststreng til en binær følge
  dim i, binRes
  for i = 1 to len(strS)
    binRes = binRes & chrB(asc(mid(strS,i,1)))
  next
  cstrB = binRes

End function
%>
Avatar billede okidoky Nybegynder
20. september 2006 - 13:17 #3
Synes bare den ikke upoader mere :)
Avatar billede madeindk Nybegynder
20. september 2006 - 13:21 #4
Hmm. Prøv med:

strFileName = "testBillede"
strFileName = right(strFileName, len(strFileName) - instrrev(strFileName,"\"))
Avatar billede okidoky Nybegynder
20. september 2006 - 13:24 #5
nej ?
Avatar billede okidoky Nybegynder
20. september 2006 - 13:32 #6
ka det ikke være noget med denne linie?

binFileName = midB(binData,intPosFileNameStart, intPosFileNameEnd - intPosFileNameStart)
Avatar billede madeindk Nybegynder
20. september 2006 - 13:33 #7
Evt. smide .jpg bagefter :-) Kender ikke dit script og forstår ikke hvorfor du bruger denne type 'Upload uden komponent'.

strFileName = "testBillede.jpg"
strFileName = right(strFileName, len(strFileName) - instrrev(strFileName,"\"))
Avatar billede okidoky Nybegynder
20. september 2006 - 13:39 #8
Det virker hellere ikke... Jeg har fået den af en, har du et bedre ?
Avatar billede madeindk Nybegynder
20. september 2006 - 14:09 #9
Har nogle stykker, hvilke komponenter har du til rådighed?
Avatar billede okidoky Nybegynder
21. september 2006 - 09:17 #10
hvad mener du med komponenter?
Avatar billede madeindk Nybegynder
21. september 2006 - 17:25 #11
Har du ikke et webhotel?
Avatar billede okidoky Nybegynder
22. september 2006 - 08:27 #12
jo, surftown
Avatar billede madeindk Nybegynder
22. september 2006 - 13:57 #13
Ok, jeg prøver at sætte et script sammen til dig med komponentet "FileUp" som de bruger hos Surftown.

Er cirka tilbage klokken 17.00
Avatar billede okidoky Nybegynder
24. september 2006 - 05:22 #14
Hmmm ???
Avatar billede okidoky Nybegynder
27. september 2006 - 10:48 #15
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester