none
[求助孟老师] 上传类的问题-未将对象引用设置到对象的实例 RRS feed

  • 常规讨论

  • 把一个上传的子过程封装到一个类里,这个类就需要声明
    如:       
    Protected WithEvents UpFile As System.Web.UI.WebControls.FileUpload                      或
    Protected WithEvents UpFile As New System.Web.UI.HtmlControls.HtmlInputFile           或
    Protected WithEvents UpFile As HtmlInputFile
    然后这个aspx文件的UPLOAD表单就需要写成
    <asp:FileUpload ID="UpFile" runat="server" />              或
    <input id = "UpFile" type = "file" runat = "server">
    但每次点提交按扭的时候,执行语句:

    Dim upload As New FileUPLoad
    upload.SaveFileToFolder()

    这个子过程都会报错 ,如下:
    异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

    我的子过程执行到第一句就出错,代码如下:
    Public Sub SaveFileToFolder()
    Dim FileName As String = UpFile.PostedFile.FileName.Substring(UpToMe.PostedFile.FileName.LastIndexOf("\") + 1)
    Dim FilePath As String = UpFile.PostedFile.FileName
    Dim FileSize As Integer = CStr(UpFile.PostedFile.ContentLength)
    Dim FileExt As String = New FileInfo(UpFile.PostedFile.FileName).Extension.Remove(0, 1)
    Dim FileMIME As String = UpFile.PostedFile.ContentType
    .............................

    如果这个子过程拿到aspx文件内就可以执行过去,我闷.....ing.........
    请各位前辈支招..........谢谢.
    做个好汉子,每天要自强------自强不熄
    2009年11月12日 3:39

全部回复

  • 自己顶一下,没有朋友知道吗?

    我已经在aspx页面实例化了
    UpFile = New System.Web.UI.HtmlControls.HtmlInputFile

    做个好汉子,每天要自强------自强不熄
    2009年11月12日 6:21
  • 你好!
         检查以下UpToMe是否为null。
    周雪峰
    2009年11月12日 10:12
    版主
  • 如何确认upfile是否为空?
    我用If UpFile.HasFile Then
    Response.Write(UpFile.PostedFile.FileName.ToString)
    检查,每次都检测到有数据

    不知道问题在那?
    做个好汉子,每天要自强------自强不熄
    2009年11月12日 10:16
  • 错误提示你可以看到具体哪个实例为null的!
    周雪峰
    2009年11月12日 10:48
    版主
  • 经过几天的不断检查和测试,问题很明显了 如何在自定义的类里面实例化HttpPostedFile

    我目前用的是
    Protected WithEvents UpFile As New System.Web.UI.HtmlControls.HtmlInputFile

    Dim UpFiles As HttpPostedFile = UpFile.PostedFile()

    但是仍然无法实例化,我郁闷.

    提交的内容是存在的,如果把sub拿到执行页面是可以过去的,拿到类里面就要求把fileupload对象实例化,这个问题请大家帮忙

    如果变通一下也是可以解决,只要在类里面声明这个sub而且带上参数,不过我确实不知道该怎么写这个参数,因为一旦使用了类型转换,那就麻烦多了

    请各位前辈支招,我还在找方法ing,感谢大家.
    做个好汉子,每天要自强------自强不熄
    2009年11月13日 14:43
  • UpFile是客户端的表单对象或者是服务器控件,无需实例化

    【孟子E章】
    2009年11月14日 12:16
    版主