MultiFile renders as InputFle

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

MultiFile renders as InputFle

Sovitec
Hi,

I'm using a MultiFile control on a page of my website, it act as expected on my development computer and on my 2 test servers. But on the production server it renders like an InputFile control. The code produced on my local machine looks like this :
<div>
	<input value="" name="NeatUploadInternalFileNames_ctl00_ctl00_Contenu_Contenu_MultiFiles" id="ctl00_ctl00_Contenu_Contenu_MultiFiles" type="hidden"><div></div><div id="NeatUploadDiv_ctl00_ctl00_Contenu_Contenu_MultiFiles" style="overflow: hidden; position: relative; display: block; height: 24px; width: 185px;"><input style="display: block; position: absolute; text-align: right; top: 0pt; right: 0pt; cursor: pointer; font-size: 61.6667px; opacity: 0; z-index: 2;" id="ctl00_ctl00_Contenu_Contenu_MultiFiles_NeatUploadInternalInputFile" name="NeatUpload_DF979316F201C5E0BF6423B022DC7960-ctl00_ctl00_Contenu_Contenu_MultiFiles" type="file">
<input value="Choisir les fichiers annexes" type="button">
</div>
And on the production server like this :

<div>
	<input id="ctl00_ctl00_Contenu_Contenu_MultiFiles" name="ctl00_ctl00_Contenu_Contenu_MultiFiles" type="file">
</div>
I have an InputFile on the same page that renders like this on my local machine :
<input name="NeatUpload_DF979316F201C5E0BF6423B022DC7960-ctl00_ctl00_Contenu_Contenu_InputSingleFile" id="ctl00_ctl00_Contenu_Contenu_InputSingleFile" onchange="FileChanged();" type="file">

And like this on the production server (it works) :
<input name="ctl00_ctl00_Contenu_Contenu_InputSingleFile" id="ctl00_ctl00_Contenu_Contenu_InputSingleFile" onchange="FileChanged();" type="file">
I can't find any significant difference in the configurations.

Can someone please help me to find a solution.

Sovitec

PS : Thanks for this great piece of software
Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

Dean Brettle
Administrator
Things to check:
  • Make sure that the Brettle.Web.NeatUpload.dll is installed in the bin folder of your application.
  • Make sure that the top-level directory of your application is actually configured as a web application, not just a virtual dir.
  • Make sure that the UploadHttpModule has been added to the <httpModules> section of your Web.config.
  • Make sure that you don't have useHttpModule="false" in your Web.config unless you also have useHttpModule="true" in a <location> element whose path attribute corresponds to your upload page.  The Web.config for the demo uses location filtering to restrict NeatUpload's request processing to  the Demo.aspx page.
  • Make sure that you don't have ASP.NET application-wide tracing enabled for your application.  ASP.NET application-wide tracing disables NeatUpload.
Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

Sovitec
Thanks for the quick answer, but unfortunately it's none of this.
After some new tries I've added the line
<add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" />
for <system.webServer><modules> in my configuration files on all computers (I did not change the configuration since early RC version of neatUpload 1.3).
Then the MultiFile renders correctly on all servers, but, on the production server, the upload now fails after a timeout (it still works on other servers).
Any idea ?
Thanks again for your help.
Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

Dean Brettle
Administrator
The fact that you needed to add it to <system.webServer><modules> means that your production server is using IIS7's DefaultAppPool.

As for the timeout, what is the full error message and stack trace?

Are you using a web garden/farm?  If not, try using the InProcUploadStateStoreProvider, as described in Reducing Server Load.

--Dean
Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

Sovitec
You did it
I don't remember the exact error (I had to quickly restore the half working version for other users),  but I remember it's about socket.
I forgot to mention that the UploadBar was giving me an error too.
But the InProcUploadStateStoreProvider solved everything (I don't use a web farm).
Thanks so much for your help.

Sovitec (grateful)
Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

chunmun

I am having similar problem, where multifile will render as inputfile. The demo page from the website is working. So do have correct flash and I checked all these items you listed above and they all there. I am using IE6. I did not understand how I would use "InProcUploadStateStoreProvider" to solve this like Sovitec did.

Please if you can help.

Thanks

Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

Dean Brettle
Administrator
Please post or email me (dean at brettle dot com) your top-level Web.config and any Web.configs in subfolders that are parents of the page with the MultiFile control.

--Dean
Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

chunmun
Thanks for your reply, I have emailed you the web.config file. Please let me know the issues you see in there.
Thanks again!!
Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

Dean Brettle
Administrator
The Web.config you sent does not have NeatUpload's UploadHttpModule added in either the system.web/httpModules section or the system.webServer/modules sections.  That is the problem.  Please see Installing NeatUpload.

--Dean
Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

chunmun

Dean, Thanks for pointing that out, It is working now.

Can NeatUpload be also used to download the file from the server or DB. If no, do you know of a good way of doing that.

Thanks,

Charanjit

 

Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

Dean Brettle
Administrator
No.  NeatUpload only handles uploading.  I don't have any experience with download components so I can't recommend one.

--Dean
Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

Jeremy

Dean,

I am having much the same problem as the OP, except when I view the source of the page in question I actually see the markup for a multifile. What renders however is a single file upload control (which does function)

Here's the generated html:

<div>
  <input id="photoUploadControl_imageUploadControl" type="file" name="NeatUpload_D21F076D9CAF60AE3311430911CED9DC-photoUploadControl_imageUploadControl" />

<div id='NeatUploadDiv_photoUploadControl_imageUploadControl' style='position: relative; display: none;'>

<input type="button" value="Pick Files..." /></div>
</div>

It appears that there is a fallback input being used, but I am not sure what would cause this to be shown as opposed to the multifile.

I went over the list of remedies suggested and am good on all of them. (bin is installed, this is a webapp, httpmodule is in webconfig, useHttpModule is not set to false, and tracing is disabled).

Any other suggestions? I will try to provide any information you ask for.

Thanks!

Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

Dean Brettle
Administrator
Any javascript errors? What browser version are you using? --Dean
Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

Jeremy

Currently IE 7 but we test in Firefox 2 and 3 as well as IE 6 and 8.

It was happening in a popup so I missed the javascript error initially, but it is throwing one. Here is what it is saying:

Line: 95

Char: 1

Error: Object expected

Code: 0

.....

The location in the source is this (line 95 is the declaration of the function NeatUploadMultiFileCreate):

<!--
NeatUploadMultiFileCreate('photoUploadControl_imageUploadControl',
  'F7BDA71FC3930949695A89F5CBF7A982',
  '',
  '/includes/neatUpload/MultiRequestUploadHandler.ashx',
  'NeatUpload_PostBackID',
  {NeatUpload_PostBackID : 'F7BDA71FC3930949695A89F5CBF7A982',
   NeatUpload_MultiRequestControlID: 'photoUploadControl_imageUploadControl',
   NeatUpload_ArmoredCookies: 'FE7lSD4ApOnXVY8adFj8SlMI09bPELYsLHvIh6BmaCUT0fgZx1TuhXa0tAGlYwAtkFCts5r2qCqEZB0tB+wHS32rDzjcPuHgQxy/TXJBZ6itmQGfBicNHiTxZJYy9iNQSnOV/B4FtuC+NgvgeaKL8kcBk4lVGxQ3WzsvRT2iGGjRAxu9gYVqclrBRWPDxAR0btmO/YJYyeMId6ZB4meDRheKpvCC0edHmv6u/r70uDXEV5Hyl6xw++tj+uc+3sseeNN91xK4JbYeOgNjOAhH+QEwFwDHxYBQf0/l2ibcqNiXeH+4NqJK8AX0gSsq9z2deAMjGl5e0R2J9hBPCXMAjmUNCFo4be0XfddUSY3VBKeOC7XuhBlnm/kJPlF1exMp+CNaIdFEZhWl2NWV9te9qzGnNn7bW90LC8bC0uVGwJXoTv16eqDyc/XzNHIZN+elmWA9fwOOp+0wv9bxy1GA320u9t6ZkchQYziKL+VeO/t9eW+BLqbIpO+D3jCflpbcfIQJFhh6'
  },
   true,
   '',
   '*.jpg;*.gif',
   '.jpg and .gif files are allowed.',
   'NeatUploadDiv_photoUploadControl_imageUploadControl',
   'NeatUploadConfig_photoUploadControl_imageUploadControl'
);
// -->

.......

I should throw out that I did modify the neatUpload web application to remove the branding as well as move the location of the "neatUpload" directory to "/includes/neatUpload".

As a check, I used the standard .bin with the neatUpload folder in the application root and received the same error.

In FF3 I am getting the much more useful "NeatUploadMultiFileCreate is not defined" error message for line 95.

Any ideas?

Thanks!

Reply | Threaded
Open this post in threaded view
|

Re: MultiFile renders as InputFle

Jeremy

Dean,

I figgured it out. Somehow when I copied the neatUpload folder contents, the .js files did not get copied over. I added those and now it works.

Thank you for your help and your work on this great application.