Introduction
This article demonstrates how to play an swf file (flash) in
asp.net.
There is some additional requirement that browser must have plug-in
installed in order make this work.
In this project you need to upload a swf
file and then click on the uplaod file to run the uploaded file.
Using the code
It is very simple to create and to paly swf file.
Following are the steps to create and play swf file.
- Step
1. Open Microsoft Visual Studio. Create a web site and named it
PlaySwfFile.
- Step
2. Create an .aspx file and named it PlaySwfFile.aspx.
- Step
3. Design the form that looks like this.
-
- Step
4. Or copy and paste the code in PlaySwfFile.aspx
file inside the <body> tag
<form id="form1" runat="server">
<table width="410px">
<tr>
<td align="center" valign="top">
<table border="0" cellpadding="2" cellspacing="3" style="width: 400px;">
<tr>
<td valign="top" style="width: 150px">
</td>
<td align="left" valign="top" style="width: 200px">
<asp:Label ID="lblMsg" CssClass="tdMessage" Text ="" runat="server"></asp:Label></td>
</tr>
<tr>
<td valign="top" class="tdText" align="left">
<nobr> Select a file</nobr> </td>
<td valign="top" style="text-align: left">
<asp:FileUpload ID="fUpload" runat="server" Width="300px" /></td>
</tr>
<tr>
<td align="left" valign="top">
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" /></td>
<td align="left" valign="top">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"
width="200" height="100">
<param name="movie" value="<% =swfFileName%>" />
<param name="quality" value="high" />
<embed src="<% =swfFileName%>" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" width="200" height="100"></embed>
</object>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
// Now Add a namespace System.IO; to the PlaySwfFile.aspx.cs file
// Declare a variable above page_load() method
public string swfFileName = "";
protected void btnUpload_Click(object sender, EventArgs e)
{
if (fUpload.FileContent.Length >0 && IsVaildFile())
{
string Path = GetUplaodImagePhysicalPath();
DirectoryInfo dirUploadImage = new DirectoryInfo(Path);
if (dirUploadImage.Exists == false)
{
dirUploadImage.Create();
}
string fileUrl = Path + fUpload.PostedFile.FileName;
fUpload.PostedFile.SaveAs(fileUrl);
swfFileName = "image/" + fUpload.PostedFile.FileName;
}
}
private bool IsVaildFile()
{
string swfExt = System.IO.Path.GetExtension(fUpload.PostedFile.FileName);
switch (swfExt)
{
case ".swf":
return true;
default:
{
lblMsg.Text = "Please select only swf file.";
return false;
}
}
}
string GetUplaodImagePhysicalPath()
{
return System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "image\\";
}
}
Now run the project and upoad a swf file and click on upload
button. you will get the result.
Points to Remember
In the .cs page you will get a public variable named swfFileName.
This is the variable which is used in the aspx page to assign as the source of
<object>.
Here <object> serves as swf player.
In aspx file the public variable swfFileName is accessed as <%
=swfFileName%>