2016-06-20 6 views
0

Genexusで作成されたWebサイトに、Uploadifyコントロールが含まれ、ローカルのTomcatサーバー上で実行され、小さなファイルでうまく動作しますが、 1つ(> 50 MB)、ファイルをアップロードするように見えますが、トランザクション画面に戻ります。Genexus Uploadifyが大きなファイルで動作しない

Google Chromeに含まれている開発ツールを使用してテストを実行しましたが、大きなファイルをアップロードしようとすると "500 - 内部サーバーエラー"が発生します。 「ネットワーク」タブの対応する行をクリックすると、この与える:、私はTomcatのディレクトリに<サーブレット>タグ内に次のタグを追加するアプリケーションのweb.xmlを編集する提案をした

HTTP Status 500 - 

type Exception report 

message 

description The server encountered an internal error() that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: java.lang.NoSuchMethodError: org.apache.commons.fileupload.DefaultFileItem.cleanup()V 
at com.genexus.webpanels.HttpContextWeb.cleanup(Unknown Source) 
at com.genexus.webpanels.GXWebObjectBase.doExecute(Unknown Source) 
at br.com.procempa.spm.cauge.texpedientessoliceventosalter.doExecute(texpedientessoliceventosalter.java:21) 
at com.genexus.webpanels.GXWebObjectStub.callExecute(Unknown Source) 
at com.genexus.webpanels.GXWebObjectStub.doPost(Unknown Source) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:420) 
at org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:170) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) 
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) 
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) 
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) 
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) 
at java.lang.Thread.run(Unknown Source) 

com.genexus.webpanels.GXWebObjectStub.callExecute(Unknown Source) 
com.genexus.webpanels.GXWebObjectStub.doPost(Unknown Source) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:420) 
org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:170) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.28 logs. 

Apache Tomcat/5.5.28 

は、いくつかのウェブサイト上で検索します/application-directory/WEB-INF/web.xml:その後、

<multipart-config> 
    <max-file-size>1073741824</max-file-size> 
    <max-request-size>1073741824</max-request-size> 
    <file-size-threshold>0</file-size-threshold> 
</multipart-config> 

そして、このようなポート8080一見のためのコネクタのタグを作るためのtomcatディレクトリ/ confに/ server.xmlを編集:

<Connector port="8080" maxHttpHeaderSize="4096" maxPostSize="1073741824" 
      maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
      enableLookups="false" redirectPort="8443" acceptCount="100" 
      connectionTimeout="600000" disableUploadTimeout="true" /> 

そしてTomcatを再起動しましたが、同じエラーが表示されます。他に何かが足りないのですか?

ありがとうございます!

EDIT:実際には、私のアプリケーションはJavaであり、使用されるコントロールは真の "Uploadify"ではなく、クラス "Image"を持ち、データベースのBLOBフィールドにリンクされています。トランザクションフォームで項目タイプを変更する場合はありませんか?

答えて

0

アップロードのプロパティ「サイズ制限」をフォームにチェックインしてください。

maxRequestLength<system.web>に、requestLimits maxAllowedContentLength<security>に設定してください。

例:

<system.web> 
<httpRuntime requestValidationMode="2.0" executionTimeout="600" maxRequestLength="50000"/> 
</system.web> 

<system.webServer> 
<security> 
    <requestFiltering> 
    <hiddenSegments> 
    <add segment="PrivateTempStorage" /> 
    <add segment="private" /> 
    </hiddenSegments> 
    <requestLimits maxAllowedContentLength="50000000"/> 
    </requestFiltering> 
</security> 
</system.webServer> 
関連する問題