我在WebService中封装好读文件的函数如下:
int readByte = 0;
int bytesToRead = 1024;
FileStream fs = new FileStream(filePath,FileMode.Open);
BinaryReader br=new BinaryReader(fs);
byte[] base64buffer = new byte[bytesToRead];
do
{
readByte=fs.Read(base64buffer,0,bytesToRead);//Tag
br.Read(base64buffer,0,readByte);
}
while( bytesToRead<= readByte);
fs.Close();
当在应用程序中调用WebService时,每当执行到Tag这行代码时,也就是读一块大小为1024字节流,将这块字节流返回到应用程序,然后下次读下一块到应用程序,直到读完,如何在Tag位置控制读的位置?(这个函数要修改,请问怎么改?)
int readByte = 0;
int bytesToRead = 1024;
FileStream fs = new FileStream(filePath,FileMode.Open);
BinaryReader br=new BinaryReader(fs);
byte[] base64buffer = new byte[bytesToRead];
do
{
readByte=fs.Read(base64buffer,0,bytesToRead);//Tag
br.Read(base64buffer,0,readByte);
}
while( bytesToRead<= readByte);
fs.Close();
当在应用程序中调用WebService时,每当执行到Tag这行代码时,也就是读一块大小为1024字节流,将这块字节流返回到应用程序,然后下次读下一块到应用程序,直到读完,如何在Tag位置控制读的位置?(这个函数要修改,请问怎么改?)
[WebMethod]
public byte[] ReadFileData( string FileName, int nStartPosition )
{
const int bytesToRead = 1024;
FileStream fs = new FileStream(filePath,FileMode.Open);
if( fs.Length < nStartPostion ) return null;
else
{
byte[] base64buffer = null;
if( nStartPosition + bytesToRead <= fs.Length )
base64buffer = new byte[bytesToRead];
else
base64buffer = new byte[ fs.Length - nStartPosition ]; fs.Seek( nStartPosition );
fs.Read(base64buffer,0, base64buffer.Length );
fs.Close();
return base64buffer ;
}}