Avatar billede okidoky Nybegynder
27. september 2006 - 10:48 Der er 2 kommentarer og
1 løsning

Asp upload width og height

Hej jeg har et lille upload script som uploader billedet til både mappe og db, men hvordan får jeg den til også at finde width og height på billedet og uploade dem i db sammen med billedenavn?

her er mit script:

<%
dim strAction
strAction = request("action")

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


sub ShowForm
  %>
  <form enctype="multipart/form-data" action="img.asp?action=upload" method=post>
  <table width="350" border="0" align="center" cellpadding="4" cellspacing="4">
    <tr>
     
      <td width="94%">Billede<br>
      <input  name="file" type="file" size="40" /></td>
    </tr>
    <tr>
     
      <td><input name="submit" type="submit" value="Upload" /></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\" & Map & "\" & strFileName), _
                                      true, false)
  objFile.write bin2str(midB(binData, intPosFileDataStart, _
                        intPosFileDataEnd - intPosFileDataStart))
 

  set rs = server.CreateObject("ADODB.Recordset")
  rs.Open "billed ",  Conn, 2, 2
     
   
    rs.addnew
       
            rs("img_navn") = strFileName
                       
            rs.update
   
  objFile.close
  set objFile = Nothing
  set objFSO = Nothing
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 keysersoze Ekspert
27. september 2006 - 11:29 #1
som udgangspunkt er det noget man skal bruge et image-komponent til - hvis du har det er det super simpelt ud fra det pågældendes komponents dokumentation.

Alternativt kan du kigge på dette; http://www.codewiki.us/index.php?title=Get_image_width_and_height_with_ASP
Avatar billede okidoky Nybegynder
28. september 2006 - 10:09 #2
Undskyld jeg spørger. men har du sådan en super simpet uploade?
Avatar billede keysersoze Ekspert
28. september 2006 - 10:24 #3
upload er - ligesom med billeder - som udgangspunkt noget man bruger et komponent til så svaret her vil være det samme som før. Komponenterne i begge tilfælde er med til at gøre det super simpelt.

Alternativet kan du se her; http://activedeveloper.dk/search/default.asp?area=1&size=50&page=1&SearchType=0&keyword=upload+uden
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