RW_Files | Email & Attachment| Directory| Upload|

 

<% Import Namespace=" System.io" %>

<% Import Namespace=" System.Web.Mail" %>

File (shared/static )
StreamReader
StreamWriter
Path

Directory(shared/static methods)

-CreateText()
-AppendText()
-OpenText()
-ReadLine() WriteLine()

-GetFileName()
-GetExtension()
-GetDirectoryName()
- GetFullPath()

-GetDirectories()
-GetFiles()
-GetFilesystemEntries()

BinaryFormatter

MailMessage (p)
SmtpMail
FileStream

-Serialize()

-Deserialize()


From
To
Subject
Body
BodyFormat
Attachments
BCC
-SmtpServer (p)
-Send()
  -Open()


Write To File

StreamWriter objsw;
objsw=File.CreateText|AppendText(MapPath("file.txt") ; // CreateText & AppendText are shared method, no obj required.
objsw.WriteLine(" controlbox.Text"); // input from textbox
objsw.Close();

Back

Read From File

StreamReader objsr;
String input;
lblresult.Text=" ";
objsr=File.OpenText(MapPath("text.txt")); // MapPath=Start from current directory where .aspx is located
input=objsr.ReadLine(); //Read entire line

while(input !=null)
{

lblresult.Text+=input+"<br>" ;
input=objsr.ReadLine();
}

objsr.Close();

Back

Access File & Directories Information

<script runat="server language="c#">

void ViewDrive(Object s , EventArgs e)
{

switch (ddlDir.SelectedItem.Value)
{

case "Files" :
dgFD.DataSource=Directory.GetFiles("c:\\", " *.txt") ;
break;

case "Directories" :
dgFD.DataSource=Directory.GetDirectories("c:\\") ;
break;

case "Directories/Files" :
dgFD.DataSource=Directory.GetFileSystemEntries("c:\\") ;
break;

}
dgFD.DataBind();
}

</script>

<form runat="server">
What do you want to view? <br>
<asp:DropDownList id="ddlDir" OnSelectedIndexChanged="ViewDrive" AutoPostback="true" runat="server" >
<asp:ListItem Text="Files" value="Files"/>
<asp:ListItem Text="Directories" value="Directories" />
<asp:ListItem Text="Directories/Files"/>
</asp:DropDownList> <p>

<asp:DataGrid id="dgFD" runat="server" />
</form>

Back

Upload File Client to Server

<script runat="server language="c#">

void Upload(Object s , EventArgs e)
{

if( txtUpload.PostedFile!=null) // textbox not NULL
{
HttpPostedFile pf=txtUpload.PostedFile; // make obj pf to access to uploaded file
String filename=Path.GetFileName(pf.FileName); //pf.Filename = filename upload by user
pf.SaveAs("C:\\Temp\\MyDirectory\\"+filename);

lblMsg.Text="File has been uploaded";

}

}

</script>

<form enctype="multipart/form-data" runat="server">

<h3>Upload your file to server</h3>
<input id="txtUpload" type="file" runat="server" /> <p>

<input id="btnUpload" type="button" value="Upload" Text="clickme" OnServerclick="Upload" runat="server" /> <p>
<asp:Label id="lblMsg" runat="server" /> <br>

</form>

Back

Send Email & Multiple Attachment

1. Configure SMTP (provided by window, come along with IIS )
-Open IIS
-Right click Default SMTP Virtual Server> Properties
-Select Access > Relay
-click Add button
-Add Localhost or 127.0.0.1 // where email server is located
-uncheck Allow All computer

 

private void btnsend_Click(object sender, System.EventArgs e)
{
SendMail(txtfrom.Text ,txtto.Text,txtsubject.Text, txtmsg.Text);
}

protected void SendMail(String from ,String to, String subject, String body)
{
string [] files=hdnFiles.Value.TrimEnd(',').Split(','); //erase ,and split filename by comma , store in files

TRY
{
MailMessage objmail=new MailMessage();
MailAttachment attach;

for(int i=0;i<files.Length;i++)
{
attach=new MailAttachment(Server.MapPath("~\\upload\\")+files[i]); //~ and dot are root folder
objmail.Attachments.Add(attach);
}

objmail.From =from;
objmail.To=to;
objmail.Subject=subject;
objmail.Body=body;


SmtpMail.SmtpServer ="localhost";
SmtpMail.Send(objmail);
Session["message"]="your mail has been sent"; //Session Across pages
}
CATCH(Exception ex)
{
Session["message"]=ex.Message;
}
FINALLY
{

for(int i=0;i<files.Length;i++)
{
File.Delete(Server.MapPath("~\\upload\\")+files[i]); //Del uploaded files

}
Response.Redirect("Emailconfirm.aspx");
}
}

 

private void btnadd_Click(object sender, System.EventArgs e)
{
HttpPostedFile pf=txtupload.PostedFile; // make obj pf to access to uploaded file
String filename=Path.GetFileName(pf.FileName); //filename upload by user, System.IO
pf.SaveAs(Server.MapPath("upload\\")+filename);
hdnFiles.Value += filename + ","; //hidden field runat="server" store string of filename
lblMsg.InnerHtml+="<img src='images/attach.gif' title='" + filename + "'>" ;

}

 

Back

 

 

 

 

 

 

 

 

 

 

@Copy right of Soon Lim 2006. All Right Reserved