上传视频、音频文件的问题,急!!

时间:2022-05-25 19:46:11
在ASP。NET中,按照普通文本、图片文件的方式上传视频、音频文件后,却发现视频、音频文件无法打开,请问原因何在,怎么解决呢??

16 个解决方案

#1


请详细说明

#2


别用文本流的方式,用2进制流的方式!

#3


可能你的上传模块编写有问题,使得上传文件不完整或数据损坏。我原先遇到过类似的问题。

也还有可能是网络状况差,使得上传的文件数据有错误。

#4


别用文本流的方式,用2进制流的方式!

#5


晕,能不能给我些具体的例子参考一下啊,多谢了!!

#6


public void Submit_Click(object sender,System.EventArgs e)
{
if(OG_PIC.PostedFile != null)
{
if( OG_PIC.PostedFile.ContentLength != 0 && OG_PIC.PostedFile.ContentLength <= 4000000 )
{
string fileName,fileExtension;
fileName = System.IO.Path.GetFileName(OG_PIC.PostedFile.FileName);
fileExtension = System.IO.Path.GetExtension(fileName);
if(fileExtension == ".jpg" || fileExtension == ".gif" || fileExtension == ".png" || fileExtension == ".bmp")
{
strName = CreateFileName();
try
{
OG_PIC.PostedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("UpFile//")+strName+fileExtension);
}
catch(Exception ex)
{
}
string strConn=@"uid=oma;pwd=amo;Initial Catalog=IT;Data Source=(local)";
SqlConnection conn=new SqlConnection(strConn);
SqlDataAdapter addadapter=new SqlDataAdapter("select * from OG",conn);
SqlCommandBuilder addBuilder=new SqlCommandBuilder(addadapter);
DataSet addDataSet=new DataSet();
addadapter.Fill(addDataSet,"OG");
DataRow newRow = addDataSet.Tables["OG"].NewRow();
newRow["OG_Name"] = Request["OG_Name"];
newRow["OG_IDNO"] = Request["OG_IDNO"];
newRow["OG_EMail"] = Request["OG_EMail"];
newRow["OG_Phone"] = Request["OG_Phone"];
newRow["OG_Title"] = Request["OG_Title"];
newRow["OG_PIC"] = strName + fileExtension;
newRow["OG_Time"] = DateTime.Now;
addDataSet.Tables["OG"].Rows.Add(newRow);
addadapter.Update(addDataSet,"OG");
conn.Close();
message.Text = "<font color=#ff0000>成功,文件名为"+strName+"</font>";
GetSmallI(fileExtension);
}
else
{
message.Text = "<font color=#ff0000>上传的文件格式不对,请上传指定的图片文件格式!(*.jpg,*.gif,*.png,*.bmp)</font>";
}
}
else
{
message.Text = "<font color=#ff0000>没有上传文件,或者文件太大!请重新上传!</font>";
}
}
}

我的一段没有整理了,自己照着改吧,
这段在我这里是没有问题的,
我是上传图片你可改成视频文件的!

#7


把上面的代码复制到VS.NET里面的cs文件里会好看些!

#8


代码看看

#9


我是把这些文件直接存放到硬盘上,往数据库中只存了路径.
我也学习一下 流 形式

#10


学习

#11


学习学习

#12


传大文件时,可使用 元素的 maxRequestLength 属性来增加文件大小的最大允许值,例如:

<configuration>
   <system.web>
    <httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
   </system.web>
</configuration>

其中:maxRequestLength:指示 ASP.NET 支持的HTTP方式上载的最大字节数。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。executionTimeout:指示在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。在当文件超出指定的大小时,如果浏览器中会产生 DNS 错误或者出现服务不可得到的情况,也请修改以上的配置,把配置数加大。

#13


是个什么东东?

#14


strName = CreateFileName();
这个怎么理解,在线等。。。

#15


呵呵,已经回答过了的

#16


gz

#1


请详细说明

#2


别用文本流的方式,用2进制流的方式!

#3


可能你的上传模块编写有问题,使得上传文件不完整或数据损坏。我原先遇到过类似的问题。

也还有可能是网络状况差,使得上传的文件数据有错误。

#4


别用文本流的方式,用2进制流的方式!

#5


晕,能不能给我些具体的例子参考一下啊,多谢了!!

#6


public void Submit_Click(object sender,System.EventArgs e)
{
if(OG_PIC.PostedFile != null)
{
if( OG_PIC.PostedFile.ContentLength != 0 && OG_PIC.PostedFile.ContentLength <= 4000000 )
{
string fileName,fileExtension;
fileName = System.IO.Path.GetFileName(OG_PIC.PostedFile.FileName);
fileExtension = System.IO.Path.GetExtension(fileName);
if(fileExtension == ".jpg" || fileExtension == ".gif" || fileExtension == ".png" || fileExtension == ".bmp")
{
strName = CreateFileName();
try
{
OG_PIC.PostedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("UpFile//")+strName+fileExtension);
}
catch(Exception ex)
{
}
string strConn=@"uid=oma;pwd=amo;Initial Catalog=IT;Data Source=(local)";
SqlConnection conn=new SqlConnection(strConn);
SqlDataAdapter addadapter=new SqlDataAdapter("select * from OG",conn);
SqlCommandBuilder addBuilder=new SqlCommandBuilder(addadapter);
DataSet addDataSet=new DataSet();
addadapter.Fill(addDataSet,"OG");
DataRow newRow = addDataSet.Tables["OG"].NewRow();
newRow["OG_Name"] = Request["OG_Name"];
newRow["OG_IDNO"] = Request["OG_IDNO"];
newRow["OG_EMail"] = Request["OG_EMail"];
newRow["OG_Phone"] = Request["OG_Phone"];
newRow["OG_Title"] = Request["OG_Title"];
newRow["OG_PIC"] = strName + fileExtension;
newRow["OG_Time"] = DateTime.Now;
addDataSet.Tables["OG"].Rows.Add(newRow);
addadapter.Update(addDataSet,"OG");
conn.Close();
message.Text = "<font color=#ff0000>成功,文件名为"+strName+"</font>";
GetSmallI(fileExtension);
}
else
{
message.Text = "<font color=#ff0000>上传的文件格式不对,请上传指定的图片文件格式!(*.jpg,*.gif,*.png,*.bmp)</font>";
}
}
else
{
message.Text = "<font color=#ff0000>没有上传文件,或者文件太大!请重新上传!</font>";
}
}
}

我的一段没有整理了,自己照着改吧,
这段在我这里是没有问题的,
我是上传图片你可改成视频文件的!

#7


把上面的代码复制到VS.NET里面的cs文件里会好看些!

#8


代码看看

#9


我是把这些文件直接存放到硬盘上,往数据库中只存了路径.
我也学习一下 流 形式

#10


学习

#11


学习学习

#12


传大文件时,可使用 元素的 maxRequestLength 属性来增加文件大小的最大允许值,例如:

<configuration>
   <system.web>
    <httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
   </system.web>
</configuration>

其中:maxRequestLength:指示 ASP.NET 支持的HTTP方式上载的最大字节数。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。executionTimeout:指示在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。在当文件超出指定的大小时,如果浏览器中会产生 DNS 错误或者出现服务不可得到的情况,也请修改以上的配置,把配置数加大。

#13


是个什么东东?

#14


strName = CreateFileName();
这个怎么理解,在线等。。。

#15


呵呵,已经回答过了的

#16


gz