设为首页收藏本站订阅更新

无忧脚本

 找回密码
 加入无忧

QQ登录

只需一步,快速开始

搜索
查看: 3766|回复: 0

[求助] 关于上传附件的问题,大家帮帮忙

[复制链接]
发表于 2011-4-26 11:53:16 | 显示全部楼层 |阅读模式
下面是一段上传附件的主要代码,请大家看下。为什么myParts总是null,在页面操作的时候,提示上传成功,但是数据库和页面中的列表都不显示传上去的附件内容。

private void DoUpload()
    {
        bool flagCancel = false;
        //UploadedFileCollection parts = HttpUploadModule.GetUploadedFiles();
        UploadedFileCollection myParts = HttpUploadModule.GetUploadedFiles();
        if (myParts != null)
        {
            
            IList<FileObj> list = new List<FileObj>();
            foreach (UploadedFile part in myParts)
            {

                if (LimitSize > 0 && part.ContentLength / 1024 > LimitSize)
                {
                    flagCancel = true;
                    ShowMessage(Resources.UpLoadResource.MessageLimitSize.Replace("%LimitSize%", LimitSize.ToString()));
                    break;
                }
                else
                {
                    string fileName = part.ClientName;
                    string fileExtend = "";
                    if (fileName.LastIndexOf(".") >= 0)
                    {
                        fileExtend = fileName.Substring(fileName.LastIndexOf(".")).ToLower().Trim();
                    }

                    string strPath = RootPath + part.ClientName;
                    if (IsRealName)
                    {
                        //启用上传时的文件名保存到服务器上
                        strPath = RootPath + part.ClientName;
                    }
                    else
                    {
                        strPath = RootPath + UploadID + fileExtend;
                    }

                    part.SaveAs(strPath, true);
                    string AID = Guid.NewGuid().ToString();

                    //是否生成缩略图
                    if (ThumImageFileType.LastIndexOf(fileExtend) > -1)
                    {
                        GetReducedImage(strPath, AID);
                    }
                    //获取附件信息
                    FileObj f = new FileObj();
                    f.AID = AID;
                    f.Category = txtCategory.SelectedItem.Value;
                    //f.Description = txtDescription.Text;
                    //上传后附件的存储处理
                    if (Store == StoreType.DataBase)
                    {
                        //将附件直接存储到数据库
                        byte[] buf;
                        if (part.IntermediateStream.Length > 0)
                        {
                            //附件上传过程中附件直接存储在内存中,适用于附件文件不大的情况下。
                            buf = new byte[(int)part.IntermediateStream.Length];
                            part.IntermediateStream.Read(buf, 0, (int)part.IntermediateStream.Length);
                        }
                        else
                        {
                            //附件上传过程中,附件直接写入磁盘中,从磁盘中读取附件内容
                            FileStream fs = new FileStream(strPath, FileMode.Open, FileAccess.Read);
                            buf = new byte[Convert.ToInt32(part.ContentLength)];
                            fs.Read(buf, 0, Convert.ToInt32(part.ContentLength));
                            fs.Close();
                            fs.Dispose();
                            if (File.Exists(strPath))
                            {
                                File.Delete(strPath);
                            }

                        }
                        f.FileContent = buf;
                    }
                    else
                    {
                        f.FilePath = strPath;

                    }


                    f.FileExtend = fileExtend;
                    f.FileName = fileName;
                    f.FileSize = (int)(part.ContentLength / 1024);
                    f.MimeType = part.ContentType;
                    f.OwnerId = OwnerId;
                    f.Status = ((int)DefaultStatus).ToString();
                    f.Title = txtTitle.Text;
                    f.UserId = UserID;
                    f.UserName = UserName;

                    try
                    {
                        f.SortIndex = 0;
                        //f.SortIndex = Convert.ToInt32(txtSortIndex.Text);
                    }
                    catch
                    {
                        f.SortIndex = 0;
                    }
                    AIDS.Add(f.AID);
                    list.Add(f);

                    flagCancel = false;

                }

            }
            FileObjDA fileObjDA = new FileObjDA(ConfigString);
            fileObjDA.Insert(list);

        }
        if (!flagCancel)
        {
            ShowMessage(Resources.UpLoadResource.MessageUpLoadSuccess);
            txtTitle.Text = "";
            BindList();
            UploadID = Guid.NewGuid().ToString();
        }
        this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "closeiframe", "<script>hiddenBar();window.opener.searchRefresh();</script>");
    }
您需要登录后才可以回帖 登录 | 加入无忧

本版积分规则

小黑屋|手机版|Archiver|无忧脚本 ( 苏ICP备05080427号 )|值班电话:027-62300445   鄂公网安备 42011102000433号

GMT+8, 2017-11-18 07:01 , Processed in 0.089637 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表