vb.net проблема с загрузкой файла - PullRequest
0 голосов
/ 28 августа 2009

Когда я пытаюсь опубликовать файл, он возвращается как ложный, т.е. файл не был прикреплен. Кто-нибудь может увидеть что-то не так с этим? Или что может быть причиной.

<form id="Form1" enctype="multipart/form-data" method="post" runat="server">
    <asp:FileUpload ID="fileUpload" runat="server" />
    <asp:Button ID="cmdSubmitApplication" runat="server" Text="Button" />
</form>

Protected Sub cmdSubmitApplication_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdSubmitApplication.Click

    If Me.fileUpload.PostedFile Is Nothing Then
        Response.Write("You must specify file to upload!")
    Else

        Try

            Dim strExt As String = Path.GetExtension(Me.fileUpload.PostedFile.FileName)

            If strExt.ToLower() = ".doc" Then

                Dim savedFile As String
                savedFile = Path.GetFileName(Me.fileUpload.PostedFile.FileName)
                Me.fileUpload.PostedFile.SaveAs(Server.MapPath("cvs\") & savedFile)
                Response.Write("File Uploaded Successfully")

            Else
                Response.Write("Only Image Files are Allowed")
            End If

        Catch exp As Exception
            Response.Write(exp.Message)
        End Try

    End If

End Sub

Ответы [ 5 ]

1 голос
/ 28 августа 2009

Попробуйте использовать:

If Me.fileUpload.HasFile Then        
    Response.Write("You must specify file to upload!") 
Else
0 голосов
/ 28 августа 2009

исправил это. В мастере был тег, поэтому форма, которую я добавил ниже, была вложенной. Я удалил тег формы из мастера. Будет ли это вызвать проблемы в другом месте. Должен ли я просто удалить тег формы выше вместо мастера.

ps Я ненавижу vb.net и все, что с этим связано.

0 голосов
/ 28 августа 2009

Попробуйте удалить enctype = "multipart / form-data" из тега формы. Я просматриваю свои страницы, на которых я использую загрузку, и у них их нет.

У меня есть тег формы на главной странице, но это просто:

<форма>

0 голосов
/ 28 августа 2009
    Public Sub UploadFile(ByVal BugID As System.Guid, ByVal Files As System.Web.UI.WebControls.FileUpload, ByVal fileDescription As String)
        Dim guid As System.Guid = System.Guid.NewGuid()
        Dim filesSave As New BugTrackerData.Files.Files()
        Dim filename As String = Files.PostedFile.FileName
        'Grab the file name from its fully qualified path at client 
        Dim strFileName As String = guid.ToString() & System.IO.Path.GetExtension(filename)
        'Save uploaded file to server at C:\ServerFolder\
        Dim savepath As String = System.Web.HttpContext.Current.Server.MapPath("~/Resources/FileUploads/" & strFileName)
        Try
           If Not String.IsNullOrEmpty(FileUpload1.FileName) Then
 Files.PostedFile.SaveAs(savepath)
            filesSave.SaveToDB(guid, BugID, strFileName, fileDescription)
End If
        Catch Exp As Exception
            Throw Exp
        End Try
    End Sub
0 голосов
/ 28 августа 2009

Вот полный рабочий пример из MSDN:

http://msdn.microsoft.com/en-us/kb/kb00323245.aspx

пожалуйста, посмотрите.

также попробуйте заменить «Если Me.fileUpload.PostedFile - пустое значение» на «Если fileUpload.PostedFile - пустое значение»

и проверьте разрешения для папки назначения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...