This is the first time when a product documentation has come to my rescue. The iron speed code documentation has done the trick for me. I am trying to figure out a way to provide the code snippet a format other than image so that it can be in a ‘copy and paste’ format for later purposes. This is the image of the product documentation that had helped me for this particular problem. Okey first thing’s first. How I got around the problem? As I have discussed in phase one that I want upload a file into the filesystem using the fileInput control. At the same time I wanted to save that virtual address to the DB location. My approach was I will designate the savelocation value to the url Textbox and ask iron speed to take data from the url Textbox. Another approach may be to declare a hidden asp label. Then assign the savelocation value to the label. Iron speed will pull the data from the label. A normal procedure could have been taking the value from the input file directly. The reason I did not take the approach is because InputFile is an html control. I did not want to get in another hassle of converting html variable into aspx data. Rest is fairly easy.
public void try1_Click(object sender, EventArgs args) { bool shouldRedirect = true; try1_Click_Base(sender, args); //searching the html control called inputFile System.Web.UI.HtmlControls.HtmlInputFile inputFile; inputFile = ((System.Web.UI.HtmlControls.HtmlInputFile)(this.Page.FindControl("inputFile"))); if ((!(inputFile.PostedFile == null) && (inputFile.PostedFile.ContentLength > 0))) { // getting the filename // getting the savelocation string fileName = System.IO.Path.GetFileName(inputFile.PostedFile.FileName); string saveLocation = (this.Page.Server.MapPath("..\\Data") + ("\\" + fileName)); try { // start transaction to store the file location to DB DbUtils.StartTransaction(); // saving file to file system inputFile.PostedFile.SaveAs(saveLocation); // setting the control value = saveLocation this.ImageRecordControl.url.Text = saveLocation; // saving data to DB this.ImageRecordControl.SaveData(); this.CommitTransaction(sender); } catch (Exception ex) { this.Page.Response.Write(("Error: " + ex.Message)); shouldRedirect = false; BaseClasses.Utils.MiscUtils.RegisterJScriptAlert(this, "BUTTON_CLICK_MESSAGE", ex.Message); this.RollBackTransaction(sender); } finally { DbUtils.EndTransaction(); } if (shouldRedirect) { this.ShouldSaveControlsToSession = true; } } else { this.Page.Response.Write("Please select a file to upload."); } }
No comments:
Post a Comment