我坚持在我的aspx中加载swf。我应该从数据库检索瑞士法郎,并显示在网页上。我的代码设法在从数据库中检索后在本地文件夹中创建swf ...但是我似乎无法在下载后自动在aspx上显示它...以及aspx中的代码应该是什么?任何想法家伙?... ... THX在ASP.NET中加载SWF文件
public string swfFileName = "";
protected void Page_Load(object sender, EventArgs e)
{
string swfToDbConnStr = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
try
{
using (SqlConnection connection = new SqlConnection(swfToDbConnStr))
{
// Assumes that connection is a valid SqlConnection object.
SqlCommand command = new SqlCommand(
"SELECT gameStorage FROM eGame", connection);
// Writes the BLOB to a file (*.swf).
FileStream stream;
// Streams the BLOB to the FileStream object.
BinaryWriter writer;
// Size of the BLOB buffer.
int bufferSize = 100;
// The BLOB byte[] buffer to be filled by GetBytes.
byte[] outByte = new byte[bufferSize];
// The bytes returned from GetBytes.
long retval;
// The starting position in the BLOB output.
long startIndex = 0;
// Open the connection and read data into the DataReader.
connection.Open();
SqlDataReader reader = command.ExecuteReader(CommandBehavior.SequentialAccess);
while (reader.Read())
{
// Create a file to hold the output.
stream = new FileStream(
//"logo" + pubID + ".swf", FileMode.OpenOrCreate, FileAccess.Write);
"FBIS" + ".swf", FileMode.OpenOrCreate, FileAccess.Write);
writer = new BinaryWriter(stream);
// Reset the starting byte for the new BLOB.
startIndex = 0;
// Read bytes into outByte[] and retain the number of bytes returned.
retval = reader.GetBytes(0, startIndex, outByte, 0, bufferSize);
// Continue while there are bytes beyond the size of the buffer.
while (retval == bufferSize)
{
writer.Write(outByte);
writer.Flush();
// Reposition start index to end of last buffer and fill buffer.
startIndex += bufferSize;
retval = reader.GetBytes(0, startIndex, outByte, 0, bufferSize);
}
// Write the remaining buffer.
writer.Write(outByte, 0, (int)retval - 1);
writer.Flush();
// Close the output file.
writer.Close();
stream.Close();
}
// Close the reader and the connection.
reader.Close();
connection.Close();
swfFileName = Directory.GetCurrentDirectory();
}
}
catch (Exception exs) { }
}
yup ... ASHX方法的工作原理和我使用@Remus建议的SqlFileStream修改代码... thx家伙的所有帮助.... – user614454 2011-02-17 15:39:12