Источник: http://flajaxianfileupload.codeplex.com/
Help: http://www.flajaxian.com/flajaxian.com/FileUploader2.0Help.html
Видео (англ.): http://blog.bodurov.com/how-to-use-flajaxian-fileuploader-video-basics
В моем примере представлен собственно сам компонент загрузки файлов на сервер, в данном случае графических файлов. Контроль Image, показывающий уже загруженое изображение, и скрытая кнопка. Все это находится внутри Update Panel. После того как файл загружен эмулируется нажатие на скрытую кнопку и происходит обновление контрола Image и мы тут же видим только что загруженное изображение.
Код расположенный на моей aspx странице:
-     <fieldset>
-       <legend class="legend" onclick="slideBlock('blockBOLogo');">Reseller logo for Back End (please ensure your logo size is 415x70 pixels only)legend>
-       <div id="blockBOLogo" class="blockLogo">
-       <asp:ScriptManager ID="ScriptManager1" runat="server">
-       asp:ScriptManager>
-       <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
-         <ContentTemplate>
 
-         <asp:Image ID="imgBOLogo" runat="server" CssClass="imageResellerLogoBO"/>
-         <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" style="display:none;"/>
-         <br/><br/>
-         <fjx:FileUploader ID="FileUploader1" runat="server" 
-         UseInsideUpdatePanel="true" 
-         RequestAsPostBack="true" 
-         OnFileReceived="FileUploader1_FileReceived"
-         PageUrl="~/ResellerEdit.aspx?proj=HOTEL&id_reseller=2"
-         SuppressQueryStringParametersOnUploadUrl="false"
-   
 
-         JsFunc_FileStateChanged="fn_fileStateChanged"
-   
 
-         CssUrl="~/Control/Style/FileUploader.css" 
-         TransparentBackground="true"
-         ImagesPath="~/Control/Image/Uploader/" 
-         BrowseButtonUrl="Browse.gif"
-         BrowseButtonOverUrl="BrowseOver.gif" 
-         BrowseButtonPressedUrl="BrowseOver.gif"
-         BrowseButtonDisabledUrl="Browse.gif"
-         UploadButtonUrl="Upload.gif"
-         UploadButtonOverUrl="UploadOver.gif"
-         UploadButtonPressedUrl="UploadOver.gif" 
-         UploadButtonDisabledUrl="Upload.gif"
-         CancelButtonUrl="Cancel.gif"
-         CancelButtonOverUrl="CancelOver.gif"
-         CancelButtonPressedUrl="Cancel.gif"
-   
 
-         ProgressBorderSize="0"
-         ProgressBorderColor="#fff1dd"
-         ProgressBackUrl="ProgressBackground.gif"
-         ProgressForeUrl="ProgressFore.gif"
-   
 
-         MaxNumberFiles="1" MaxFileNumberReachedMessage="You can select only up to {0} files in one queue"
-         MaxFileSize="2MB" MaxFileSizeReachedMessage="No files bigger than {0} are allowed"
-         AllowedFileTypes="Web Images (Jpeg, Gig, Png):*.jpg;*.jpeg;*.png;*.gif" 
-   
 
-         >
-           <Adapters>
-             <fjx:ThumbGeneratorAdapter Runat="server" 
-               Extensions="jpg;jpeg;gif;png;bmp" FolderName="/Control/Upload" 
-               Suffix="_thumb" MaximumWidth="200" MaximumHeight="200" />
 
-             <fjx:FileSaverAdapter Runat="server" FolderName="/Control/Upload" />
 
-           Adapters>
-         fjx:FileUploader>
 
-         ContentTemplate>
-       asp:UpdatePanel>
-       div>
-     fieldset>
- <script type="text/javascript">
-   function fn_fileStateChanged(uploader, file, httpStatus, isLast) {
-     Flajaxian.fileStateChanged(uploader, file, httpStatus, isLast);
-     if (file.state > Flajaxian.File_Uploading) {
-       document.getElementById("<%= Button1.ClientID %>").click();
-     }
-   }
- script>
* This source code was highlighted with Source Code Highlighter.Адаптер "
fjx:FileSaverAdapter" (строчка 51) отвечает за сохранение фалов на диск, если вы планируете сохранять загружаемый файл сразу в базу (смотри пример ниже), то можете просто удалить строчку "fjx:FileSaverAdapter".Адаптер "
fjx:ThumbGeneratorAdapter" очень интересен. Он налету создает превьюшки загружаемых графических файлов.Вот пример серверных методов подвешенных на события выше приведенного кода:
- protected void FileUploader1_FileReceived(object sender, com.flajaxian.FileReceivedEventArgs e)
- {
-    curProject = Utils.getParamString(Global.ManagementArgumnet.Project);
 
-    curId = Utils.getParamInt(Global.ManagementArgumnet.ResellerId);
 
- int maxSizeAllowed = 2000000;
-    int contentLenght = e.File.ContentLength;
-    if (contentLenght <>
-    {
-       Stream stream = (Stream)e.File.InputStream;
 
-       if (stream != null)
-       {
-           Reseller.TrySaveImage(curProject, curId, Library.ImageType.ResellerLogoBO, stream, contentLenght);
 
-        }
-    }
- }
 
- protected void Button1_Click(object sender, EventArgs e)
- {
-   int rand = new Random().Next(0, 100000);
 
-   imgBOLogo.ImageUrl = imgBOLogo.ImageUrl + "&random=" + rand;
-   imgBOLogo.Visible = true;
-   imgBOLogo.DataBind();
 
-   UpdatePanel1.Update();
- }
* This source code was highlighted with Source Code Highlighter. 
Комментариев нет:
Отправить комментарий