i want to rename my file. But i got a IOException. It says "The Process Cannot Access the File Because It Is Being Used by Another Process".
This is my Code:
asp.net:
<telerik:RadAsyncUpload ID="rauKachelUpload" runat="server" ChunkSize="0" Localization-Cancel="Löschen" Localization-Remove="Entfernen" Localization-Select="Auswählen"
Culture="de-DE" Skin="MetroTouch" MaxFileInputsCount="1" OnFileUploaded="rauKachelUpload_FileUploaded">
</telerik:RadAsyncUpload>
vb.net:
Protected Sub rauKachelUpload_FileUploaded(sender As Object, e As FileUploadedEventArgs)
Try
Using fileStream As Stream = e.File.InputStream
Using img As System.Drawing.Image = System.Drawing.Image.FromStream(fileStream)
Dim h As Integer = img.Height
Dim w As Integer = img.Width
img.Dispose()
Dim fileName As String = e.File.GetName()
If w = MaxWidth And h = MaxHeight Then
rauKachelUpload.TargetFolder = "img/kachel_grafik"
Dim TimeStamp As String = DateDiff("s", "01/1/1970 12:00:00 AM", DateTime.Now)
fileName = "KI_" & TimeStamp & WelcheSparteUndGröße
KachelPfad = "~/img/kachel_grafik/" & fileName
Else
KachelFalsch = True
End If
If KachelFalsch = False Then
e.File.SaveAs(fileName)
Page.ClientScript.RegisterClientScriptBlock([GetType](), "CloseScript", "redirectParentPage('VermittlerBearbeiten.aspx?ID=" & VermittlerID & "&KBFN=" & KachelPfad & "&NA=true" & "&fwg=" & WelcheSparteUndGröße & "&Ang1=" & hfAng1CHK.Value & "&Ang2=" & hfAng2CHK.Value & "&Ang3=" & hfAng3CHK.Value & "&Ang4=" & hfAng4CHK.Value & "&AngSrc1=" & hfKachelIMGSrcBaufi.Value & "&AngSrc2=" & hfKachelIMGSrcImmo.Value & "&AngSrc3=" & hfKachelIMGSrcPhoto.Value & "&AngSrc4=" & hfKachelIMGSrcAsse.Value & "');", True)
Else
rnfIconNichtErzeugt.Visible = True
End If
End Using
End Using
Catch ex As Exception
rnfIconNichtErzeugt.Visible = True
End Try
End Sub
Without trying to rename my file, it works fine.
Does anyone has an Idea what i did wrong?
Thanks for reading. Daniel
You need to make sure that the fileStream is properly closed before attempting to rename the file since the particular file will be held by the fileStream object. You can try fileStream.Close() after the img.Dispose() statement.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.