Avatar billede stkol Nybegynder
13. maj 2003 - 12:11 Der er 8 kommentarer og
1 løsning

Tilføjelse af ÍD til filnavn under upload!!

Hej

Jeg har et problem med et ASP dokument som uploader et billede til min webserver og skriver navnet i SQL2K, dette virker godt nok men når jeg gerne vil tilføje et ID (som bliver genereret via et javaScript på siden før) har jeg ikke haft heldet med mig til at placere denne på den rigtige måde!

Kan nogen hjælpe mig med at placere Request.QueryString("ID") i nedenstående kode, så ID'et bliver tilføjet til filenavnet på serveren og i DB??

<%
    Response.Expires = -10000
    Server.ScriptTimeOut = 300

    Set theForm = Server.CreateObject("ABCUpload4.XForm")
    theForm.Overwrite = True
    theForm.MaxUploadSize = 8000000
    theForm.AbsolutePath = False
    theForm.ID = Request.QueryString("ID")
    Set theField = theForm.Files("PIC1")
    If theField.FileExists Then
      theField.Save theField.FileName
    End If
   
    response.write Request.QueryString("ID")

    '## Insert the link
    Dim strSql,dbInsert_connection,hascon

    set dbInsert_connection = Server.CreateObject("ADODB.Connection")
    dbInsert_connection.Open Application("ConnectString")

    strSql = "Update documents set pic1='" & theField.FileName & "' WHERE recordid=1;"
   
   
    dbInsert_connection.execute(strSql)

    dbInsert_connection.Close
    set dbInsert_connection = Nothing
   
    Session(request.querystring("boxno")) = ""
    response.redirect "pic1Updated.asp"

%>

På forhånd mange tak *SS

/Stig :-)
Avatar billede dk_akj Nybegynder
13. maj 2003 - 12:16 #1
Det tror jeg ikke du kan.

MEN du kan overføre din jaavascript variabel til  en hidden på din form (document.formnavn.min_hidden.value = minvariabel;

Og så i din asp kode modtage den med minvariabel =  theForm("min_hidden")

//akj
Avatar billede stkol Nybegynder
13. maj 2003 - 12:21 #2
Hvordan vil det helt nøjagtigt se ud i min form?? Kan du skrive et eksempel???
Avatar billede dk_akj Nybegynder
13. maj 2003 - 12:23 #3
Kan du ikke vise din form incl. javascript ??
Avatar billede stkol Nybegynder
13. maj 2003 - 12:28 #4
Siden hvor JavaScriptet og formen er i, er meget stor (ca 1200 linier) så du får lige et uddrag fra den :

######  JavaScriptet ##############

<script language="javascript">
<!--
function DoUpload1() {
    theFeats = "height=120,width=500,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no";
    theUniqueID = (new Date()).getTime() % 1000000000;
    window.open("progressbar.asp?ID=" + theUniqueID, theUniqueID, theFeats);
    document.PIC1.action = "../../uploadimg/updatePic1.asp?ID=" + theUniqueID;
    document.PIC1.submit();
}
//-->
</script>   


##### Formen  #######

<form action="../../uploadimg/updatePic1.asp?box=Billed Box 1&boxno=p1&anchor=PIC1" method="post" name="PIC1" id="PIC1" enctype="multipart/form-data">
<table cellspacing="1" cellpadding="1" border="0">
<tr>
    <td colspan="2"><font size="2">Billede 1 <b><i>(<%
                                                            if Session("p1")="edit" then
                                                                response.write("Åben")
                                                            else
                                                                response.write("Skrivebeskyttet")
                                                            end if                                       
                                                        %>)</i></b>&nbsp;&nbsp;<A HREF="#" onclick="window.open('redigerConfirm.htm','editwarning', 'width=350, height=400,top=180,left=300')"><img src="../frame/../../frame/img/help.gif" width="26" height="26" alt="Hjælp" border="0"></a></font></td>
</tr>
<tr>
    <td valign="top"><input class="inputbox" type="file" name="PIC1" id="PIC1" maxlength="5" style="width: 320px" <%
                                                            if Session("p1")="edit" then
                                                                response.write("")
                                                            else
                                                                response.write("readonly")
                                                            end if                                       
                                                        %> value="<%=rs("pic1")%>"><br><font size="1">
                                                                                          <% if rs("pic1") = "" then
                                                                                                response.write "<b>NB! Der <i>INGEN</i> billed tilknyttet denne tekst!</b>"
                                                                                            else
                                                                                                response.write "Der er følgende billede i data basen :<br><b>" & rs("pic1")
                                                                                            end if%>
                                                                                        </b></font><br><br>
                    <center><font size="1">Skal dette billede vises på siden? <input type="radio" name="pic1show" value="yes" <%
                                                                                                                                    if trim(rs("pic1show"))="yes" then
                                                                                                                                        response.write("checked")
                                                                                                                                    else
                                                                                                                                        response.write("")
                                                                                                                                    end if                                       
                                                                                                                                %>> Ja <input type="radio" name="pic1show" value="no" <%
                                                                                                                                                                                            if trim(rs("pic1show"))="no" then
                                                                                                                                                                                                response.write("checked")
                                                                                                                                                                                            else
                                                                                                                                                                                                response.write("")
                                                                                                                                                                                            end if                                       
                                                                                                                                                                                        %>> Nej</center></font>
    <% if not rs("pic1") = "" then %>
    <br>
    <br>
    <center>
    <%
                        Dim ImageName, DummyPic
                        'Create a Random Number called Random_Number
                       
                        Randomize
                       
                        'Set your Min and Max Values
                       
                        Random_Number_Min = 2
                        Random_Number_Max = 9999
                       
                        'Call the RND Command
                       
                        Random_Number = Int(((Random_Number_Max-Random_Number_Min+1) * Rnd) + Random_Number_Min)
                       
                        DummyPic = "../../img/nopic.jpg"
                       
                        ImageName = "/uploadimg/" & rs("pic1")
                        if Len(ImageName) < 1 then
                          ImageName = DummyPic
                        end if
                       
                        ImageName = Server.MapPath(ImageName)
                        'response.write(ImageName)
                       
                        '*** get width/height of original image
                        Set objImageSize = Server.CreateObject("ImgSize.Check")                                                                                   
                        objImageSize.FileName = ImageName
                        ImageHeight = objImageSize.Height
                        ImageWidth = objImageSize.Width
                       
                        If ImageHeight < 1 then ImageHeight = 1 end if
                        If ImageWidth < 1 then ImageWidth = 1 end if 
                       
                       
                        '*** calculate aspect ratio based on MINPIXELS
                        If ImageHeight > ImageWidth Then
                            NewHeight = (ImageHeight*(MINPIXELS/ImageWidth))  '###CInt
                            NewWidth = MINPIXELS
                        Else
                            NewWidth = (ImageWidth*(MINPIXELS/ImageHeight))    '###CInt
                            NewHeight = MINPIXELS
                        End If
                        Set objImageSize = Nothing
                       
                        '*** create thumbnail image
                        Set Image = Server.CreateObject("AspImage.Image")
                       
                        Image.LoadImage(ImageName)
                       
                        newPicFileNameOnDisk = ""
                        NewPicLogicalFileName = ""
                        NewPicLogicalFileName = "/uploadimg/small/small_" & Random_Number & ".jpg"                       
                        newPicFileNameOnDisk = Server.MapPath(NewPicLogicalFileName)
                        newPicFileNameOnDisk = trim(newPicFileNameOnDisk)
                        response.write(newPicFileName)
                       
                        Image.FileName = newPicFileNameOnDisk
                        Image.ImageFormat = 1
                        Image.JPEGQuality = 100
                        Image.Resize NewWidth,NewHeight
                        Image.SaveImage
                        Set Image = Nothing
                       
                        Response.Write "<img src=""" & newPicLogicalFileName & """ border=""0"">"
                        'wend
                        %>
    </center>
    <% end if %></td>
    <td valign="top"><A HREF="#" onclick="window.open('redigerConfirm.asp?box=Billed Box 1&boxno=p1&anchor=PIC1','editwarning', 'width=250, height=180,top=180,left=300')"><img src="../frame/../../frame/img/rediger.gif" width="65" height="19" alt="Rediger" border="0"></a><br>
                    <A HREF="#" onclick="window.open('deleteConfirm.asp?box=Billed Box 1&boxno=p1','deletewarning', 'width=390, height=190,top=180,left=300')"><img src="../frame/../../frame/img/slet.gif" width="65" height="19" alt="Slet" border="0"></a><br>
                    <A HREF="#" onclick="DoUpload1()""><img src="../frame/../../frame/img/gem.gif" width="65" height="19" alt="" border="0"></a></td>
</tr>
</table>
</form>

#############################

Jeg håber det hjælper *SS
Avatar billede dk_akj Nybegynder
13. maj 2003 - 12:52 #5
Har tilføjet 2 linier markeret med //*******nyt*********

//akj

<script language="javascript">
<!--
function DoUpload1() {
    theFeats = "height=120,width=500,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no";
    theUniqueID = (new Date()).getTime() % 1000000000;
    window.open("progressbar.asp?ID=" + theUniqueID, theUniqueID, theFeats);
    document.PIC1.action = "../../uploadimg/updatePic1.asp?ID=" + theUniqueID;
    document.PIC1.uniqueid.value = theUniqueID; //*******nyt*********
    document.PIC1.submit();
}
//-->
</script>   


##### Formen  #######

<form action="../../uploadimg/updatePic1.asp?box=Billed Box 1&boxno=p1&anchor=PIC1" method="post" name="PIC1" id="PIC1" enctype="multipart/form-data">
<input type=hidden name=uniqueid value=""> //*******nyt*********
<table cellspacing="1" cellpadding="1" border="0">
Avatar billede stkol Nybegynder
13. maj 2003 - 13:02 #6
Hvordan vil du så tilføje det i ASP dokumentet???
Avatar billede dk_akj Nybegynder
13. maj 2003 - 13:04 #7
unique_id =  theForm.form("uniqueid")

//akj
Avatar billede stkol Nybegynder
13. maj 2003 - 13:16 #8
T U S I N D Tak for hjælpen AKJ, det funker bare *S ;-)
Avatar billede dk_akj Nybegynder
13. maj 2003 - 13:20 #9
Det lyder godt.

Skal måske lige tilføje at det der sker er at du ikke kan bruge request.form eller request.querystring sammen med upload komponenter. Da man ofte har behov for at omgå denne begrænsning har uploadobjecterne mulighed for at modtage data fra forms, Så bruger man uploadobject.form("xyz") istedet for request.form("xyz")

//akj
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