2017-07-20 46 views
3

私は、様々なサイズと量のさまざまな種類のファイルをアップロードする必要がある会社のファイルアップロードポータルを作成しています。私はAJaxControlToolkit AjaxFileUploadコントロールを使用しました。AjaxControlToolkit AjaxFileUploadはIISの予約済みファイルタイプをアップロードできません

アップロードは、IISの予約済みファイルのようなものをアップロードする以外はうまく動作します。

予約済みのファイルタイプをアップロードしようとすると、Firefox開発者ツールがサーバーエラー「ファイル拡張子が許可されていません」エラーを返します。これは.exeファイルと必要な.stlファイルで発生します(この場合は3d印刷用です)。

私たちは、アプリケーションレベル、サイトレベル、サーバーレベルでIISマネージャーで設定ファイル、ハンドラーマッピング、HTTP応答ヘッダー、MIMEタイプ構成、および要求フィルターを試していますが、動作していないようです。

infoの最後のビットは、ファイルを圧縮しているようですが、顧客にそれを要求することは避けたいと考えています。

は、あなたがそれを必要とするが、私はそれは私達があなたのために

感謝を変更する必要があるサーバーの構成であるかなり確信している場合、私は、コードを投稿することができ C#。ネット、 のWindows Server 2012 R2

、8.5のIIS助けて。

ウォルト

編集:以下 が含ま修正と私のconfigです。これは、コントロールではなく、サーバーでリストされた白いファイルタイプの問題でした。あなたがWeb.configファイルにajaxControlToolkitセクションにadditionalUploadFileExtensions属性を追加する必要が

<?xml version="1.0"?> 
<configuration> 
    <configSections> 
    <section name="ajaxControlToolkit" type="AjaxControlToolkit.AjaxControlToolkitConfigSection, AjaxControlToolkit" requirePermission="false"/> 
    </configSections> 
    <appSettings/> 
    <ajaxControlToolkit additionalUploadFileExtensions="bmp,stl"></ajaxControlToolkit> 
    <system.webServer> 
    <handlers> 
     <add name="aa2" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/> 
    </handlers> 
    </system.webServer> 
    <system.web> 
    <compilation debug="true"> 
     <assemblies> 
     <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add assembly="System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
     <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
     <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
     <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
     <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
     </assemblies> 
    </compilation> 
    <pages> 
     <controls> 
     <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/> 
     </controls> 
    </pages> 
    </system.web> 
</configuration> 
+1

なぜFireFox開発ツールがこの問題に関係しているのでしょうか?ファイルをサーバーにアップロードすることはできますか? Firefoxの問題によりアップロードが妨げられていますか? –

+2

いいえ、混乱して申し訳ありません。私はすべての情報を提供しようとしていたので、私はdevツールを使ってエラーを調べ、エラーが起こっていると言いました。 –

答えて

2

ありがとう:

<ajaxControlToolkit additionalUploadFileExtensions="exe,stl" /> 

この記事を参照してください:エントリをajaxcontroltoolkitする場所の例えばhttps://github.com/DevExpress/AjaxControlToolkit/wiki/AjaxFileUpload-setup

+1

ありがとう。私たちはおそらく正しい道のりだと思うが、どこにこの行を追加するのか分からない。私は、ツールキットのハンドラとツールキットのコントロールを除いて、裸の骨の設定を持っています。私は最初の質問に私の設定を追加しました。 –

+2

あなたの入力を使っていくつかのウェブ検索を行うことで見つけました。設定にconfigSectionsセクションを追加する必要があることが分かったので、あなたが私に言った行を追加することができました。ありがとうございました。私は会話を間違った方向に進めていたので、それはサーバーの問題だったと思っていました。 –

0

web.configファイルのSample web.config Ajax configuration

以下のサンプル:

<configuration> 
    <configSections> 
    <section name="ajaxControlToolkit" type="AjaxControlToolkit.AjaxControlToolkitConfigSection, AjaxControlToolkit" requirePermission="false"/> 
    </configSections> 
    <ajaxControlToolkit 
    useStaticResources="true" 
    renderStyleLinks="false" 
    htmlSanitizer="AjaxControlToolkit.HtmlEditor.Sanitizer.DefaultHtmlSanitizer, AjaxControlToolkit.HtmlEditor.Sanitizer" 
    tempFolder="~/Temp"/> 
    <location path="Temp"> 
    <system.webServer> 
     <handlers> 
     <clear/> 
     </handlers> 
     <modules> 
     <clear/> 
     </modules> 
    </system.webServer> 
    </location> 
<system.web> 
+0

こんにちは!スタックオーバーフローへようこそ。コミュニティをより良くするために、リンクされたコードサンプルを回答に含めることがしばしば奨励されています。これは他の人がそれをより簡単に見つけ出すのを助け、リンクが死んでしまうと、関連する情報は永遠に答えに保持されます。あなたはあなたの答えに関連コードをコピーしてください。ありがとう。詳細はhttps://stackoverflow.com/help/how-to-answerをご覧ください。 –

関連する問題