2010-10-28 73 views
0

我从网站上下载了源项目,除此之外,我将upload.php中的目标文件更改为upload.aspx,其中包含以下代码以接收文件数据:与.NET一起使用plupload控制

 int chunk = Request.QueryString["chunk"] != null ? int.Parse(Request.QueryString["chunk"]) : 0; 
     string fileName = Path.GetFileName(Request.Files[0].FileName); 

     // Read stream 
     BinaryReader br = new BinaryReader(Request.InputStream); 
     byte[] buffer = br.ReadBytes((int)br.BaseStream.Length); 
     br.Close(); 
     //byte[] appended = buffer.Take(149).ToArray(); 

     // Write stream 
     BinaryWriter bw = new BinaryWriter(File.Open(Server.MapPath("~/uploadfiles" + fileName), chunk == 0 ? FileMode.Create : FileMode.Append)); 
     bw.Write(buffer); 
     bw.Close(); 

问题是,当我上传一个jpg文件或任何其他文件时,会在每个块上附加并附加数据,这明显会导致文件损坏,并增加文件大小。任何想法为什么会发生?

+0

什么数据是预先/附加的块? – Dewfy 2010-10-28 12:34:50

回答

2

您需要从Request.Files [0]中读取而不是从Request.InputStream中读取。

查看marco的帖子:here

相关问题