怎么上传不同类型的文件?

xiongzhiqiang123 2009-08-20 11:21:31
我用fileupload这个控件上传文件到服务器上,方法是SaveAs(path),不过只能够上传txt、html这样的文件,像.mp3什么的就上传不了 怎么办?
有那位高手知道怎么做的?
...全文
68 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiongzhiqiang123 2009-08-23
  • 打赏
  • 举报
回复
不要意思,我知道了,默认是只能上传4MB的数据, 需要修改配置文件。谢谢各位
nocallstle 2009-08-21
  • 打赏
  • 举报
回复
我只写了两种类型
nocallstle 2009-08-21
  • 打赏
  • 举报
回复

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Collections;
using Common;
using System.Text;
/// <summary>
/// 文件上传类 的摘要说明
/// </summary>
public class FileUpload_Class
{
public FileUpload_Class()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
#region 文件上传的方法类--返回一个ArrayList类(标识符,文件保存库的相对路径,文件的大小和文件类型)
/// <summary>
/// 文件上传的方法类--返回一个ArrayList类(标识符,文件保存库的相对路径,文件的大小和文件类型)
/// ArrayList返回的长度不同,根据索引为0来判断是否执行成功
/// ArrayList==null:表示没有输入要所在上传文件的路径; ArrayList[0]==1:表示上传文件大小超过自定义的大小,并返回文件的实际大小; ArrayList[0]==2:表示上传文件的类型不符合自定义文件的类型,并返回文件的类型;ArrayLis[0]==3:表示文件上传成功,并返回文件保存库的相对路径,文件的大小和文件类型
/// </summary>
/// <param name="FileUpload1">FileUpload上传控件</param>
/// <param name="filesize">自定义的要上传文件的最大大小</param>
/// <param name="CurrFileSize">上传文件的实际大小</param>
/// <param name="CurrFileType">上传文件的类型</param
/// <param name="types">参数(0为只上传图片,1只能上传视频和Flash)</param>
/// <returns>返回一个ArrayList类(文件保存库的相对路径,文件的大小和文件类型)</returns>
public static ArrayList UploadFile(System.Web.UI.WebControls.FileUpload FileUpload1, int filesize,string Pathfile,int types)
{
ArrayList list = new ArrayList();
int filetype = 0;
string CurrFileSize = "";
string CurrFileType = "";
if (FileUpload1.FileName != "")
{
Page pages = new Page();
string name = FileUpload1.FileName;//文件名称
string size = FileUpload1.PostedFile.ContentLength.ToString();//文件大小
string type = FileUpload1.PostedFile.ContentType;//文件类型
//Path.GetExtension(name);//指定字符串的扩展名 .exe
string type2 = name.Substring(name.LastIndexOf(".") + 1);//文件扩展名
//if (!Directory.Exists(pages.Server.MapPath("../"+Pathfile) + "\\"))//判断该文件夹是否存在
//{
// Directory.CreateDirectory(pages.Server.MapPath("../"+Pathfile) + "\\");
//}
string ipath = pages.Server.MapPath("../"+Pathfile) + "\\" + name;//-----------文件上传服务器的路径
string wpath = Pathfile+"/" + name;//返回将在保存在数据库的相对路径的字符串
string ipath1 = pages.Server.MapPath( Pathfile) + "\\" + name;//-----------文件上传服务器的路径
if (Convert.ToInt32(size) > filesize)
{
CurrFileSize = "";
CurrFileType = "";
list.Add(1);
list.Add(size);//加载实际大小
list.Add(filetype);//类型标识
return list;
}
else
{
#region *****************************
if (types == 0)//只能上传图片
{

。。。。。。略
Lovely_baby 2009-08-21
  • 打赏
  • 举报
回复
不会的 什么类型都能传的
你是不是在程序中 限制了他的上传类型
nocallstle 2009-08-21
  • 打赏
  • 举报
回复
接分`
nocallstle 2009-08-21
  • 打赏
  • 举报
回复
我给你一个方法类,要不`什么格式都可以`
qqshenyunzcz 2009-08-21
  • 打赏
  • 举报
回复
我当时电影都上传上去了。。
zhangzhimin321 2009-08-21
  • 打赏
  • 举报
回复
用string type=path.substring(path.indexof(".")+1)可以取出文件类型,
用type可以限定类型,不做限制的话,应该什么都可以吧
xiongzhiqiang123 2009-08-20
  • 打赏
  • 举报
回复
没有 ,我也不知道有没有大小限制,我是用vs2005作测试的
cxxylce0 2009-08-20
  • 打赏
  • 举报
回复
应该都可以的。

你是不是设置过滤选项,还是文件大小限制了。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧