Hi,
I want display all image after upload, i like use upload silverlight . All step:
1- Upload
2- Generate thumbnail (now for testing, i just do copy to new file with prefix aa_)
3- Display all thumbnail.
I have a problem at step 3. the last thumbnail not display, i have to right click --> choose 'show picture'.
#aspx
| <telerik:RadPane ID="RadPane2" runat="server" Width="300" BorderWidth="3" BorderColor="ActiveBorder"> |
| <input type="hidden" runat="server" id="UploadedFilesJson" /> |
| <center> |
| <object data="data:application/x-silverlight," type="application/x-silverlight-2" width="280" height="120" > |
| <param name="source" value='<%= ResolveUrl("~/Upload.xap") %>'/> |
| <param name="onerror" value="onSilverlightError" /> |
| <param name="background" value="white" /> |
| <param name="minRuntimeVersion" value="2.0.31005.0" /> |
| <param name="windowless" value="true" /> |
| <param name="autoUpgrade" value="true" /> |
| <param name="InitParams" value='<%= InitParameters %>' /> |
| <a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"> |
| <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/> |
| </a> |
| </object> |
| </center> |
| <div id="uploaded-files"> |
| </div> |
| </telerik:RadPane> |
#Script in aspx
| <script type="text/javascript"> |
| var $ = $telerik.$; |
| var uploadInProgress; |
| var uploadedFiles = new Array(); |
| function updateHiddenField() { |
| var json = Sys.Serialization.JavaScriptSerializer.serialize(uploadedFiles); |
| $get('UploadedFilesJson').value = json; |
| } |
| // Fired when a file is uploaded |
| function onClientFileUploaded(json) { |
| var uploadedFile = Sys.Serialization.JavaScriptSerializer.deserialize(json); |
| var A = $("<img />") |
| .attr("src", '<%= ResolveUrl(TargetFolder) %>' + uploadedFile.FileName) |
| .load(function(e) { PageMethods.CreateThumbNail(uploadedFile.FileName); }) |
| ; |
| Array.add(uploadedFiles, uploadedFile); |
| } |
| //Called when all files are uploaded |
| function onClientUploadFinished() { |
| updateHiddenField(); |
| var image; var deleteFile; var html=""; |
| for (var i = 0; i < uploadedFiles.length; i++) { |
| image = '<%= ResolveUrl(TargetFolder) %>aa_' + uploadedFiles[i].FileName |
| html += "<img id='img_"+i.toString()+"' width='150px' src='" + image + "' /><br/>"; |
| var aa = document.getElementById("uploaded-files"); |
| } |
| aa.innerHTML = html; |
| } |
| </script> |
| protected string InitParameters |
| { |
| get |
| { |
| List<string> uploadConfig = new List<string>(); |
| uploadConfig.Add("UploadServiceUrl=" + ResolveUrl("~/RadUploadHandler.ashx")); |
| uploadConfig.Add("TargetFolder=" + ResolveUrl(TargetFolder)); |
| uploadConfig.Add("AllowedExtensions=" + "Image Files(*.gif;*.jpg;*.jpeg;*.png)"); |
| uploadConfig.Add("OverwriteExistingFiles=" + true); |
| uploadConfig.Add("IsAutomaticUpload=" + true); |
| uploadConfig.Add("OnClientFileUploaded=" + "onClientFileUploaded"); |
| //Name of the JavaScript function that will be called when all files are uploaded. |
| uploadConfig.Add("OnClientFilesUploadFinished=" + "onClientUploadFinished"); |
| return String.Join(",", uploadConfig.ToArray()); |
| } |
| } |
| private void PopulateUploadedFilesList() |
| { |
| if (!string.IsNullOrEmpty(UploadedFilesJson.Value)) |
| { |
| DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(List<UploadedFileInfo>)); |
| UploadedFiles = (List<UploadedFileInfo>)serializer.ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(UploadedFilesJson.Value))); |
| UploadedFilesJson.Value = string.Empty; |
| } |
| } |
| [WebMethod] |
| public static void DeleteFile(string fileName) |
| { |
| string uploadFolder = HttpContext.Current.Request.MapPath(TargetFolder); |
| File.Delete(Path.Combine(uploadFolder, fileName)); |
| } |
| [WebMethod] |
| public static void CreateThumbNail(string fileName) |
| { |
| string uploadFolder = HttpContext.Current.Request.MapPath(TargetFolder); |
| string pathImg = Path.Combine(uploadFolder, fileName); |
| File.Copy(Path.Combine(uploadFolder, fileName), Path.Combine(uploadFolder, "aa_" +fileName)); |
| // |
| } |
===
And have a problem : the upload silverlight is disable in RadWindows when using Firefox, it ok if not use in RadWindows.
===
Please view image attach
======
And would you like send to me source code of Upload Silverlight that is used at here ( the source you attached is not same that in example.) I like that used in example.
Thank you