Michel Bakker
Top achievements
Rank 1
Michel Bakker
asked on 19 Jul 2010, 09:29 PM
I'm using the MultipleFileSelection="Automatic" in AsyncUpload (trail of 2010 Q2) to ensure multiple files can be uploaded. Everything goes well with the uploading of multiple files, but when I write the following code in the Button click event of my form I get an IOException (File Could not find file 'C:\{app dir}\App_Data\RadUploadTemp\3yvza1nr.zhh'.):
foreach (UploadedFile file in AsyncUpload1.UploadedFiles)
{
business.AddPhto(file.InputStream);
}
The weird thing is that I can see that temporary files are deleted when the postback happends. Sometimes all files are gone, sometimes all the files are there.
My question is: How do I use the uploaded files and what should I do to prevent deletion of temporary files before I have the chance to handle them.
Kind regards,
Michel
foreach (UploadedFile file in AsyncUpload1.UploadedFiles)
{
business.AddPhto(file.InputStream);
}
The weird thing is that I can see that temporary files are deleted when the postback happends. Sometimes all files are gone, sometimes all the files are there.
My question is: How do I use the uploaded files and what should I do to prevent deletion of temporary files before I have the chance to handle them.
Kind regards,
Michel
6 Answers, 1 is accepted
0
Edward Pearson
Top achievements
Rank 1
answered on 20 Jul 2010, 01:19 AM
The same thing is happening to me, however it was fine last week. Ever since I updated to the latest version of Telerik, I'm getting the System.IO.FileNotFoundException when uploading files. Just like you, I can see them go in the temp directory, then after a few seconds they disappear, hence the FileNotFoundException after the PostBack event is triggered. If I click the "Send" button quick enough, it'll work, but that's not acceptable. Here's my mark-up:
<
telerik:RadProgressManager
runat
=
"server"
ID
=
"RadProgressManager1"
/>
<
telerik:RadAsyncUpload
runat
=
"server"
ID
=
"RadAsyncUpload1"
OnClientFileUploaded
=
"fileUploaded"
OnValidatingFile
=
"RadAsyncUpload1_ValidatingFile"
>
<
Localization
Select
=
"Add File"
/>
<
Localization
Remove
=
"Remove File"
/>
</
telerik:RadAsyncUpload
>
<
telerik:RadProgressArea
runat
=
"server"
ID
=
"RadProgressArea1"
></
telerik:RadProgressArea
>
Here's the code-behind for when the PostBack event gets fired:
public
void
UploadAttachments(
object
sender, EventArgs e)
{
if
(
this
.RadAsyncUpload1.UploadedFiles.Count > 0)
{
foreach
(UploadedFile uploadedFile
in
this
.RadAsyncUpload1.UploadedFiles)
{
int
bytesRead = 0;
byte
[] documentData =
new
byte
[uploadedFile.ContentLength];
bytesRead = uploadedFile.InputStream.Read(documentData, 0, uploadedFile.ContentLength);
// No need to show more code, it breaks here w/ FileNotFoundException...
}
}
}
0
Tojara
Top achievements
Rank 1
answered on 20 Jul 2010, 06:18 PM
Take a look at this thread - http://www.telerik.com/community/forums/aspnet-ajax/async-upload/fix-radasyncupload-sometimes-does-not-save-the-uploaded-files-to-the-target-folder.aspx. It is precisely the same problem.
0
Lenny_shp
Top achievements
Rank 2
answered on 21 Jul 2010, 09:30 PM
na
0
Hello,
The internal build containing the fix for RadAsyncUpload is already uploaded - its version is 2010.2.722.
Sincerely yours,
Yana
the Telerik team
The internal build containing the fix for RadAsyncUpload is already uploaded - its version is 2010.2.722.
Sincerely yours,
Yana
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items
0
louis chan
Top achievements
Rank 1
Iron
answered on 11 Aug 2010, 07:24 AM
I have the same problem too! After I have refreshed my page and uploaded the file, it is working fine.
My version is 2010.2.713.35
My version is 2010.2.713.35
0
illumination
Top achievements
Rank 2
answered on 29 Jun 2011, 09:54 PM
I have the same problem too. It was working perfectly before I upgraded to telerik 2011.1.519.35. Now I have all kind of problems because of the upgrade. Please help!
Protected Sub RadAsyncUpload1_FileUploaded(ByVal sender As Object, ByVal e As Telerik.Web.UI.FileUploadedEventArgs) Handles RadAsyncUpload1.FileUploaded
If RadAsyncUpload1.UploadedFiles.Count > 0 Then
Try
Dim validFile As UploadedFile = e.File
Dim targetFolder As String = Server.MapPath("~/Documents")
Dim targetFileName As String = System.IO.Path.Combine(targetFolder, validFile.GetNameWithoutExtension & validFile.GetExtension)
targetFileName = System.IO.Path.Combine(targetFolder, validFile.GetNameWithoutExtension & validFile.GetExtension)
Dim fileName As String = validFile.GetName()
'When in the server, we must use this statement:
'lblUploaded1.Text = "~/" + targetFolder.Split("\")(4) + "/" + fileName
'When in local testing, we must use this statement:
lblUploaded1.Text = "~/" + targetFolder.Split("\")(3) + "/" + fileName
Session("FileName") = lblUploaded1.Text
validFile.SaveAs(targetFileName)
Catch ex As Exception
lblError.Text = ex.Message
End Try
End If
End Sub
And please see the attached file for the error.
Thank you!
Protected Sub RadAsyncUpload1_FileUploaded(ByVal sender As Object, ByVal e As Telerik.Web.UI.FileUploadedEventArgs) Handles RadAsyncUpload1.FileUploaded
If RadAsyncUpload1.UploadedFiles.Count > 0 Then
Try
Dim validFile As UploadedFile = e.File
Dim targetFolder As String = Server.MapPath("~/Documents")
Dim targetFileName As String = System.IO.Path.Combine(targetFolder, validFile.GetNameWithoutExtension & validFile.GetExtension)
targetFileName = System.IO.Path.Combine(targetFolder, validFile.GetNameWithoutExtension & validFile.GetExtension)
Dim fileName As String = validFile.GetName()
'When in the server, we must use this statement:
'lblUploaded1.Text = "~/" + targetFolder.Split("\")(4) + "/" + fileName
'When in local testing, we must use this statement:
lblUploaded1.Text = "~/" + targetFolder.Split("\")(3) + "/" + fileName
Session("FileName") = lblUploaded1.Text
validFile.SaveAs(targetFileName)
Catch ex As Exception
lblError.Text = ex.Message
End Try
End If
End Sub
And please see the attached file for the error.
Thank you!