Web Forms :: FileUpload Not Working
Nov 22, 2010protected void wbtnup_Click(object sender, EventArgs e)
View 1 Repliesprotected void wbtnup_Click(object sender, EventArgs e)
View 1 Replies Hopefully someone can give me some pointers to get this working properly.
I have a webpage which I would like the ability to upload files to be stored in a database. Here's the layout of the page:
[code]....
The update panel is configured as such:
ChildrenAsTriggers="True" EnableViewState="True" RenderMode="Block" UpdateMode="Always" Visible="True" Runat="Server"
The reason I have the update panel outside the Tabcontainer is so that when switching between tabs, the screen doesn't flicker with refreshes, etc. But as a result, I can't get the FileUpload working properly. The FileUpload1.Filename is blank, so it errors out.
Is there anyway to get this working properly? I've tried the latest AsyncFileupload within the control toolkit, but this caused all kinds of problems with my pages so that's out of the question. I tried an iFrame too, but this also didnt work properly.
On a page we have Fileupload control. It's not inside UpdatePanel. We use it to display pictures uploaded by user. Everything works fine until we save the state (button click causes postback). User adds picture and then click save. After that if we pick the file and try to upload it on server then PostedFile equals null. I know that FileUpload doesn't save it's file inside ViewState due to security reasons, but all we want to be able to use again FileUpload to upload further files after postback and so far it's impossible.
View 8 Replies[Code]....
so what did i do wrong with the regex that its now allowing other document types to be uploaded. I need to make sure that ONLY pdf are allowed. What can i change to the validator and if anything add to the code behind to correct this?
I have a web app that allows users to upload images. Last week, all was well. This week, it appears the code is breaking. Here is the code:
Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpload.Click
If FileUploadControl.HasFile Then
Dim month As String = ddlMonth5.SelectedValue
Dim year As String = ddlYear7.SelectedValue
' Dim whatis As String = FileUploadControl.PostedFile.ContentType
Try
If (FileUploadControl.PostedFile.ContentType = "image/jpeg") Or (FileUploadControl.PostedFile.ContentType = "image/pjpeg") Or (FileUploadControl.PostedFile.ContentType = "image/gif") Or (FileUploadControl.PostedFile.ContentType = "image/x-png")
Then
Dim fs = New FileStream(FileUploadControl.PostedFile.FileName, FileMode.Open, FileAccess.Read)
'save file with new size
Using image As System.Drawing.Image = System.Drawing.Image.FromStream(fs)
Using bitmap As New Bitmap(image)
bitmap.Save("C:WebsitesimagesCusRespData.jpg", image.RawFormat)
bitmap.Save("C:Websitesimages" & month & year & "CusRespData.jpg", image.RawFormat)
End Using
End Using
StatusLabel.Text = "Upload status: File uploaded!"
fs.Close()
fs = Nothing
Else
StatusLabel.Text = "Upload status: Only .jpg,.jpeg,.gif and .png files are accepted!"
End If
Catch ex As Exception
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " & ex.Message
End Try
StatusLabel.Visible = True
End If
End Sub
On the development side, I see this error: The file could not be uploaded. The following error occurred: Could not find a part of the path. On the production side, this occurs: The following error occured: A generic error occurred in GDI+.
I have a site that needs the ability to upload image files. I copied this code from the Microsoft Website:
<%@ Page Language="C#" %>
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
try
{
FileUpload1.SaveAs("C:\Uploads\" +
FileUpload1.FileName);
Label1.Text = "File name: " +
FileUpload1.PostedFile.FileName + "<br>" +
FileUpload1.PostedFile.ContentLength + " kb<br>" +
"Content type: " +
FileUpload1.PostedFile.ContentType;
}
catch (Exception ex)
{
Label1.Text = "ERROR: " + ex.Message.ToString();
}
else
{
Label1.Text = "You have not specified a file.";
}
}
</script>..........................
[Code]....
Public Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
' Get file name
Dim uploadAvatar As FileUpload = DirectCast(AdvertisementForm.FindControl("uploadAvatar"), FileUpload)
Dim UploadFileName As String = uploadAvatar.PostedFile.FileName
If UploadFileName = "" Then
' There is no file selected
args.IsValid = False
Else
Dim Extension As String = UploadFileName.Substring(UploadFileName.LastIndexOf(".") + 1).ToLower()
If Extension = "xls" Or Extension = "xml" Then
args.IsValid = True ' Valid file type
Else
args.IsValid = False ' Not valid file type
End If
End If
End Sub
<table>
<div>
<td><asp:FileUpload ID="uploadAvatar" runat="server" /></td>
<td><asp:LinkButton ID="BtnUpdate" runat="server" CausesValidation="True"
CommandName="Update" Text="Update" CssClass="updatebutton" OnClientClick="ValidateFileUpload();" /></td>
<asp:CustomValidator ID="CustomValidator1" runat="server"
ClientValidationFunction="ValidateFileUpload"
ErrorMessage="Please select valid .jpg or .bmp file" ></asp:CustomValidator>
<td><asp:LinkButton ID="LinkButton2" runat="server"
CausesValidation="False" CommandName="Cancel" Text="Cancel" CssClass="cancelbutton" /></td>
</tr>
</div>
</table>
I do not want to change the default settings for file upload, 4Mb is more than enough for the project I'm working on. After quite a bit of searching I found two approaches that were purported to work but neither one is preventing the "Maximum request length exceeded" error. The first approach[see ref. #1 below] performs validation with a custom validator and in code behind on the page that contains the FileUpload control. It doesn't work. The second approach [see ref #2 below] performs validation in the Application_BeginRequest event in Global.asax. The author stated that validation must be handled by this event. Quoting: "The way to get past is to use your Application_BeginRequest event to handle the problem.. This event takes place for each request to your application BEFORE the data has been completely uploaded. Here you can check for the content length of the request and then redirect to the some error page or the same page with some value in session or query string so that the page can show appropriate message to the user." Here is my code from Golbal.asax based on the above. As noted, this approach doesn't work either.
protected void Application_BeginRequest(object sender, EventArgs e)
{
const int maxFileSize = 4 * 1000000; // Slightly less than 4Mb
if (Request.ContentLength > maxFileSize)
{
Response.Redirect("~/FileUploadError.aspx");
}
}
One comment by a reader of the Global.asax approach was that the value returned by Request.Content.Length would include everything on the page, i.e. viewstate, image and text content, etc. I suppose one work-around would be to set the limit higher in web.config but validate for max. file size in code behind, but that seems kind of silly because I'm manipulating the uploaded files (images) to reduce the size anyway; storage space isn't the issue, performance is. Has anyone managed to solve this poblem?
I have a User Control that contains a System.Web.UI.WebControls.FileUpload control as well as a button to 'Submit'.
When the button is clicked code similar to the following is executed:
If FileUploadControl.HasFile Then
'Save the file and do some other stuff
End If
This code works just fine with Windows XP. However, if I run it from a Windows 7 64-bit machine using IE8 32-bit the HasFile property always returns false and nothing is saved?
ASP.Net FileUpload not working in google chrome.It shows validation error,even after choosing right file type.
Here is a code :
<asp:FileUpload ID="FU1" runat="server" />
<asp:RegularExpressionValidator
id="FileUpLoadValidator" runat="server"
ErrorMessage="Upload jpg and gif only."
ValidationExpression="^(([a-zA-Z]:)|(\{2}w+)$?)(\(w[w].*))(.jpg|.JPG|.gif|.GIF)$"
ControlToValidate="FU1">
</asp:RegularExpressionValidator>
fileupload control is inside a grid, When Ajax is not used its s working correctly, so as wen i use a Update panel, am getting a error in uploading my file to thr database.
View 4 RepliesI am facing a problem in FileUpload controls that is available inside update panel along with CalendarExtender.
Now When I click on submit button after browse a file it is returning null fileobject value in codebehind page.
[Code]....
I dont know what is the reason behind of this problem, can you let me know what is the cause and probable solution for this.
I want to uplaod my images into the database.it works fine if my images are inserted into the database on postback,but when i put my FileUpload control in UpdatePanel the FileUpload.PostedFile property shows NULL.remember my scriptmanager tag is in master page.
here is the code:
UploadImage.aspx
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
[Code]....
</asp:Content>
i have to use two different Ajaxfileupload controls in a page .But when i upload file through second control the second event doesnot get fired(UploadComplete) everytime first event is fired.
<asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server"
OnClientUploadComplete="onClientUploadComplete"
MaximumNumberOfFiles="10"
AllowedFileTypes="jpg,jpeg" OnUploadComplete="AjaxFileUpload1_UploadComplete" />
[Code]....
I have Fileupload control in my page
1-i want delete the text that is beside of fileupload button text: no file choesn
2-i want change text of file upload button( I want change Choose file text)
I m using FileUpload Control , when i click the fileupload text box , Choose file window have to open.
View 6 Repliesi am developing web application and contain modal popup extender in which update panel made and it contain file upload control but file upload control not working in it.
This is my modal popup which contain fileupload control
and my modal popup source code
[code]....
In my WebForm I hv used an accordion and this accordion is in an UpdatePanel with UpdateMode="Conditional" .
In that accrdion , in last pane i hv a fileupload - when i select a file and click upload button then always the fileupload control has no file and it returns false everytime .
I have written trigger in UpdatePanel also still it doesn't work. Without updatepanel fileupload control works properly, this problem arise after i use UpdatePanel...
<asp:UpdatePanel ID="Acc_UpdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="acc" runat="server" style="position: inherit; height: auto;">
<div class="clear">
</div>
<div id="basic-accordian" style="border-radius: 4px;">
[Code] .....
How to get data (read file) chosen in FileUpload control without FileUpload.SaveAs Method on the server? Is it possible write it at once to some object?
View 2 RepliesI have a FileUpload control in an UpdatePanel and when user select a file, the full file path will will be stored in a hiddenfield, and during postback, i would like to assign the full file path in the hiddenfield back to the FileUpload control textbox, possible to achieve that?
View 1 Repliesfileupload control doesnt allow to select multiple files, then what i did , i select a file of directory and by coding i got its directory path. and showing all files of that directory in checklistbox control.So now user can select multiple files and can send selected file. I know its not a proper way, but i am getting a control that can allow me to select multiple files, If you let me know about the control that will allow me to do that , then this is what my onlyOk come to my problem with fileupload control, it works fine when run locally. but at other location its giving me a exception of path is invalid and file not found and one more thing its looking for this location "Could not findfile 'c:windowssystem32inetsrv"
View 2 RepliesI have a detailsview which uploads 4 files and uses the objectcontainerdatasource. However, what I would like to do is once I got my files from the fileupload object is to cast it to FileInfo type.At the moment I can get hold of the files via detailsview but this is where I need help; as I have four files to upload, I want to save them to either an array, collection or list of type FileUpload or FileInfo (preferably FileInfo) along with two other properties and then to pass these values to a method that saves these files to a temporary location. This brings me to my next problem. In the method that saves the files to a temporay location, whilst I can do this with FileUpload, I want to return from this method the new file path location as a FileInfo type in order to use this in another method.
View 1 RepliesI've been having several doubts with how fileupload control works internally. I've been trying to implement some kind of progress bar with iframes and such but I have noticed that when a local file is selected in the fileupload control and a postbackoccurs the file content is sent to the server wheter you choose save it or not.I have tested this with some examples and postback time seems to be the same in both cases, and the only difference is the time the servers needs to write the file on disk through the "FileUpload.SaveAs()" method.
View 4 RepliesI have a FileUpload control from where I want to select the chosen file from my code behind, bu when I try for example myFileUpload.PostedFile it always says that there is no file selected in that FileUpload event though I browsed after a file. Why is this?
View 17 RepliesI have written some script to upload a file from my local PC to an FTP Location.I have a FileUpload Control on my Page and an Upload Button, when the upload button is clicked the following script is run:
Imports System
Imports System.Net
Imports System.IO
[code]...