Avatar billede loukas Mester
29. juli 2006 - 00:36 Der er 6 kommentarer og
1 løsning

hvorfor gemmer den ikke?

Jeg er ny i .net
Men har fundet en stump kode som jeg forsøger at tilpasse.
Jeg klader siden:ASPNetThumb.aspx?Image=C:\W3Sites\lwww\varer_pic\28072006124313_DSCN9790.JPG

Det er så min ålan at der skal laves en thumbnail og gemmes i mappen:thumbnails

Koden:
<%@ Page Language="vb" Debug="True" %>
<%@ import namespace="System" %>
<%@ import namespace="System.Drawing" %>
<%@ import namespace="System.Drawing.Imaging" %>
<%@ import namespace="System.IO" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.oledb" %>
<script runat="server">

                Sub SaveThumbnail()
                      ' Initialize objects
                      Dim objImage, objThumbnail As System.Drawing.Image
                      Dim strServerPath, strFilename As String
                      Dim shtWidth, shtHeight As Short

                      objImage = objImage.FromFile(request("Image"))
                      ' set width
                      shtWidth = 100
                      ' Work out a proportionate height from width
                      shtHeight = objImage.Height / (objImage.Width / shtWidth)
                      ' Create thumbnail
                      objThumbnail = objImage.GetThumbnailImage(shtWidth, shtHeight, Nothing, System.IntPtr.Zero)
                      ' Send down to client
                      objThumbnail.Save(Server.MapPath("thumbnails\test.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg)
                      ' Tidy up
                      objImage.Dispose()
                      objThumbnail.Dispose()
                  End Sub
</script>

<% SaveThumbnail() %>
Avatar billede snepnet Nybegynder
29. juli 2006 - 01:29 #1
hvor forestiller du dig at den skal gemme det? - du har skrevet 'send down to client i kommentaren... Det vil ikke ske.
Desuden giver en lokal sti ikke rigtig mening på serveren, men det er måske meningen at det er en serversti der skal stå i url'en eller?
Mvh
Avatar billede loukas Mester
29. juli 2006 - 09:46 #2
det er en sti på serveren som står i url'en
men som sagt er jeg helt ny i asp.net
Så hvis du har en bedre idé lytter jeg gerne
Avatar billede snepnet Nybegynder
29. juli 2006 - 10:56 #3
Jeg er ikke sikker på at jeg forstår det scenarie du vil realisere, men prøv sådan en som den her.
Gem den komplette kode i en fil du kalder
ThumbnailGenerator.ashx

<%@ WebHandler Language="VB" Class="ThumnailGenerator" %>

Imports System
Imports System
Imports System
Imports System

Public Class ThumnailGenerator
    Implements IHttpHandler   
    Public  Sub ProcessRequest(ByVal context As HttpContext)
        ' skriv besked hvis ingen fil er angivet
        If context.Request.QueryString("imagefile") Is Nothing Then
            context.Response.Write("Du skal angive en fil i querystring")
            Return
        End If

        ' ellers hent filnavn fra querystring
        Dim file As String =  context.Request.QueryString("imagefile")

        ' indlæs billedet
        using(Image img = Image.FromFile(file))
        ' generér thumbnail
        Imports (Image thumb = img.GetThumbnailImage(50, 50, Nothing, IntPtr.Zero))
        {
            ' gem thumbnail hvor det originale billede lå, med thumb_ som prefix
            Dim thumbfile As String =  Path.Combine(Path.GetDirectoryName(file),"thumb_" + Path.GetFileName(file))
            thumb.Save(thumbfile)
        }

        ' viderestilling til en eller anden side
        context.Server.Transfer("Default.aspx", False)
    End Sub

    Public ReadOnly Property IsReusable() As Boolean
        Get
            Return False
        End Get
    End Property
End Class

Du kan derefter kalde den sådan her:
<a href="ThumnailGenerator.ashx?imagefile=<filepath>">Generate thumbnail</a>
Altså på helt normal vis.

Mvh
Avatar billede loukas Mester
29. juli 2006 - 17:41 #4
Jeg får en fejl:
Parser Error Message: The directive 'WebHandler' is unknown.

Source Error:


Line 1:  <%@ WebHandler Language="VB" Class="ThumnailGenerator" %>
Line 2: 
Line 3:  Imports System
Avatar billede loukas Mester
29. juli 2006 - 17:50 #5
hmm, jeg har nu gemt som .ashx og får i stedet fejlen:
Compiler Error Message: BC30002: Type 'IHttpHandler' is not defined.

Så prøvede jeg med Dim IHttpHandler
og så kom næste fejl:
Compiler Error Message: BC31053: 'Implements' statements must follow any 'Inherits' statement and precede all declarations in a class.

?!?!
Avatar billede snepnet Nybegynder
30. juli 2006 - 00:45 #6
Bruger du version 1.1?
Mvh
Avatar billede loukas Mester
20. marts 2013 - 16:26 #7
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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