Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ladda upp flera filer

Postades av 2003-05-14 10:29:06 - Andreas Lindh, i forum asp.net generellt, Tråden har 2 Kommentarer och lästs av 752 personer

På aspx sidan har jag en dropdown där man kan välja antal och en panel som jag skapar htmlInputfile i.
<code>
asp:dropdownlist id="ddlAntal" runat="server" autopostback="True" onselectedindexchanged="skapa">
<asp:listitem value="" selected="True"> </asp:listitem>
<asp:listitem value="3">3</asp:listitem>
</asp:dropdownlist>
<asp:panel id="plMb" runat="server" />
<asp:button id="btupload" runat="server" onclick="upload" />
</code>

Sen har jag den här koden som skapar input fälten
<code>
Protected WithEvents tbBild1 As System.Web.UI.HtmlControls.HtmlInputFile
Protected WithEvents tbBild2 As System.Web.UI.HtmlControls.HtmlInputFile
Protected WithEvents tbBild3 As System.Web.UI.HtmlControls.HtmlInputFile
Protected WithEvents tbBild4 As System.Web.UI.HtmlControls.HtmlInputFile
Protected WithEvents tbBild5 As System.Web.UI.HtmlControls.HtmlInputFile

Public Sub skapa(ByVal sender As Object, ByVal e As EventArgs)
Dim i As Integer
Dim pl As New Panel()
For i = 1 To 3
Dim tbl As New Table()

Dim tblr As New TableRow()
Dim tblc As New TableCell()
Dim tbBild As New System.Web.UI.HtmlControls.HtmlInputFile()
tbBild.ID = "tbBild" & i
tblc.Controls.Add(tbBild)
tblr.Cells.Add(tblc)
tbl.Rows.Add(tblr)
pl.Controls.Add(tbl)
Next
plMb.Controls.Add(pl)
End Sub

Public Sub upload(ByVal sender As Object, ByVal e As EventArgs)
Dim i As Integer
For i = 1 To 3
Dim upl As String
Dim bild As String = Request.Params("tbBild" & i.ToString())
Dim m_ID As Integer = viewstate("matchID")
Dim strFileName As String
Dim strFilePath As String
Dim strFolder As String
Dim nBild As String
strFolder = "e:\ww2\[url]www.tibroik.com\www\matchBilder\[/url]"

'Get the name of the file that is posted.
If i = 1 Then
tbBild1 = Page.FindControl("tbbild1")
strFileName = tbBild1.PostedFile.FileName
ElseIf i = 2 Then
strFileName = tbBild2.PostedFile.FileName
ElseIf i = 3 Then
strFileName = tbBild3.PostedFile.FileName
ElseIf i = 4 Then
strFileName = tbBild4.PostedFile.FileName
ElseIf i = 5 Then
strFileName = tbBild5.PostedFile.FileName
End If
strFileName = Path.GetFileName(strFileName)

'Create the directory if it does not exist.
If (Not Directory.Exists(strFolder)) Then
Directory.CreateDirectory(strFolder)
End If

'Save the uploaded file to the server.
strFilePath = strFolder & strFileName
If File.Exists(strFilePath) Then
lblUploadResult.Text = "<span style=""color:#ff0000"">" & strFileName & " Finns redan på servern. Byt namn på bilden eller välj bilden i arkivet!</span><br />"
Else
Dim OldName, NewName As String
OldName = strFilePath
NewName = viewstate("match") & "_" & DateTime.Now.ToString("t") & "_" & i
nBild = viewstate("match") & "_" & DateTime.Now.ToString("t") & "_" & i
If i = 1 Then
tbBild1.PostedFile.SaveAs(strFilePath)
ElseIf i = 2 Then
tbBild2.PostedFile.SaveAs(strFilePath)
ElseIf i = 3 Then
tbBild3.PostedFile.SaveAs(strFilePath)
ElseIf i = 4 Then
tbBild4.PostedFile.SaveAs(strFilePath)
ElseIf i = 5 Then
tbBild5.PostedFile.SaveAs(strFilePath)
End If
Rename(OldName, NewName)

lblUploadResult.Text = "<span style=""color:#3D6F0D"">" & strFileName & " Upplagd på servern.</span><br />"
End If


Next
End Sub
</code>

När jag trycker på knappen får jag det här felet
<code>
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 69: If i = 1 Then
Line 70: tbBild1 = Page.FindControl("tbbild1")
Line 71: strFileName = tbBild1.PostedFile.FileName
Line 72: ElseIf i = 2 Then
Line 73: strFileName = tbBild2.PostedFile.FileName


Source File: d:\inetpub\wwwroot\tibroik.net\admin2\upload.aspx.vb Line: 71
</code>

Är det någon som vet varför jag får det felet. Input fälten finns på sidan.
Är det någon som har en bättre lösning?


Svara

Sv: Ladda upp flera filer

Postades av 2003-05-15 09:23:42 - Johan Krantz

Jag vet inte exakt hur du ska lösa det men jag kan ge en hint om vad som är fel:

Kontrollerna skapas dynamiskt och finns därför inte om inte om inte din "skapa" funktion har körts när sidan laddas!

Dina fem "protected withevents tbBildX" kan du skippa. Dom har ingen funktion om du inte har själva fältet i aspx-sidan.

Jag vet inte hur din body_load funktion ser ut, men stoppa in typ
if ddlAntal.SelectedIndex > 0 then
skapa()
end if
så att filrutorna alltid skapas om du har valt något antal...


Eller så kan du köra med visible=false på alla filrutorna och bara visa 3 stycken om man väljer att man vill ladda upp 3 filer...
Eller så kan du köra med gammal hederlig request.form() och en upload-komponent


Skäll inte på mig om jag är helt ute och cyklar... =)
Jag har löst liknande problem med dynamiska objekt, fast det var knappar med click-events på så jag är inte säker på hur man löser file-fält...

/Johan - Ny på .net


Svara

Sv: Ladda upp flera filer

Postades av 2003-05-15 11:27:56 - Andreas Lindh

Jag gjorde en sida med 5 fält. Sen när jag kör uppladdningen kör jag
for i = 1 to 5

Och sen kollar jag om tex if bildfält 2 är tomt then
exit for

Detta kanske inte är den smartaste lösningen men det fungerar


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
5 988
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies