[Seasar-user:10977] Re: uploadfile

=?GB2312?B?wO7A1g==?= [E-MAIL ADDRESS DELETED]
2007年 10月 13日 (土) 00:45:25 JST


Does anybody have samples of fileupload ?

Can i get a copy?

Best regards.



2007/10/12, Shinpei Ohtani <[E-MAIL ADDRESS DELETED]>:
>
> Hi,
>
> As I see, you can not write <filter> after <filter-mapping> for web.xml.
> So, make sure writing <filter> before <filter-mapping>.
>
> Thanks,
>
> 2007/10/12, 川赤 <[E-MAIL ADDRESS DELETED]>:
> > Thanks a lot for your attention.
> >
> > teeda1.0.11
> > seasar2 s2-dao-1.0.39 s2-extension-2.4.17
> > tomahawk 1.1.1
> > commons-fileupload 1.0
> > -----------------------------------------------------
> web.xml---------------------------------------
> > <?xml version="1.0"?>
> >
> > <!--
> >  * Copyright 2004-2006 the Seasar Foundation and the Others.
> >  *
> >  * Licensed under the Apache License, Version 2.0 (the "License");
> >  * you may not use this file except in compliance with the License.
> >  * You may obtain a copy of the License at
> >  *
> >  *      http://www.apache.org/licenses/LICENSE-2.0
> >  *
> >  * Unless required by applicable law or agreed to in writing, software
> >  * distributed under the License is distributed on an "AS IS" BASIS,
> >  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
> >  * either express or implied. See the License for the specific language
> >  * governing permissions and limitations under the License.
> > -->
> >
> > <!DOCTYPE web-app PUBLIC
> >   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> >   "http://java.sun.com/dtd/web-app_2_3.dtd">
> >
> > <web-app>
> >
> >     <!--
> >     <context-param>
> >         <param-name>javax.faces.CONFIG_FILES</param-name>
> >         <param-value>
> >             /WEB-INF/faces-config.xml
> >         </param-value>
> >         <description>
> >             Comma separated list of URIs of (additional) faces config
> files.
> >             (e.g. /WEB-INF/my-config.xml)
> >             See JSF 1.0 PRD2, 10.3.2
> >         </description>
> >     </context-param>
> >     -->
> >
> >     <context-param>
> >         <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
> >         <param-value>server</param-value>
> >         <description>
> >             State saving method: "client" or "server" (= default)
> >             See JSF Specification 2.5.2
> >         </description>
> >     </context-param>
> >
> >     <context-param>
> >         <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
> >         <param-value>.html</param-value>
> >     </context-param>
> >
> >     <filter>
> >         <filter-name>encodingfilter</filter-name>
> >
> > <filter-class>org.seasar.extension.filter.EncodingFilter</filter-class>
> >         <init-param>
> >             <param-name>encoding</param-name>
> >             <param-value>UTF-8</param-value>
> >         </init-param>
> >     </filter>
> >
> >     <filter>
> >         <filter-name>s2filter</filter-name>
> >
> > <filter-class>org.seasar.framework.container.filter.S2ContainerFilter
> </filter-class>
> >     </filter>
> >
> >     <filter>
> >         <filter-name>hotdeployfilter</filter-name>
> >
> > <filter-class>org.seasar.framework.container.hotdeploy.HotdeployFilter
> </filter-class>
> >     </filter>
> >
> >     <filter>
> >         <filter-name>extensionfilter</filter-name>
> >
> > <filter-class>org.seasar.teeda.extension.filter.ExtensionFilter
> </filter-class>
> >     </filter>
> >
> >  <!--
> >     <filter>
> >         <filter-name>loginfilter</filter-name>
> >         <filter-class>test.web.start.LoginFilter</filter-class>
> >     </filter>
> >  -->
> >
> >  <!--
> >     <filter>
> >         <filter-name>requestDumpFilter</filter-name>
> >
> > <filter-class>org.seasar.teeda.core.filter.RequestDumpFilter
> </filter-class>
> >     </filter>
> >  -->
> >
> >     <filter-mapping>
> >         <filter-name>encodingfilter</filter-name>
> >         <url-pattern>*.html</url-pattern>
> >     </filter-mapping>
> >
> >     <filter-mapping>
> >         <filter-name>s2filter</filter-name>
> >         <url-pattern>/*</url-pattern>
> >     </filter-mapping>
> >
> >     <filter-mapping>
> >         <filter-name>hotdeployfilter</filter-name>
> >         <url-pattern>/*</url-pattern>
> >         <!--
> >         <dispatcher>REQUEST</dispatcher>
> >         <dispatcher>FORWARD</dispatcher>
> >          -->
> >     </filter-mapping>
> >
> >  <!--
> >     <filter-mapping>
> >         <filter-name>requestDumpFilter</filter-name>
> >         <url-pattern>/view/*</url-pattern>
> >     </filter-mapping>
> >  -->
> >
> >      <filter-mapping>
> >         <filter-name>extensionfilter</filter-name>
> >         <url-pattern>/teedaExtension/*</url-pattern>
> >     </filter-mapping>
> >
> > <!--   -->
> >     <filter>
> >         <filter-name>dcwAuthfilter</filter-name>
> >
> > <filter-class>jp.wess.logic.auth.DcwAuthFilter</filter-class>
> >     </filter>
> >
> >     <filter-mapping>
> >         <filter-name>dcwAuthfilter</filter-name>
> >         <url-pattern>/view/cmn/frameset.html</url-pattern>
> >     </filter-mapping>
> >
> >     <filter-mapping>
> >         <filter-name>dcwAuthfilter</filter-name>
> >         <url-pattern>/view/cmn/header.html</url-pattern>
> >     </filter-mapping>
> >
> >     <filter-mapping>
> >         <filter-name>dcwAuthfilter</filter-name>
> >         <url-pattern>/view/cmn/menu.html</url-pattern>
> >     </filter-mapping>
> >
> >     <filter-mapping>
> >         <filter-name>dcwAuthfilter</filter-name>
> >         <url-pattern>/view/cmn/procOver.html</url-pattern>
> >     </filter-mapping>
> >
> >     <filter-mapping>
> >         <filter-name>dcwAuthfilter</filter-name>
> >         <url-pattern>/view/cu/*</url-pattern>
> >     </filter-mapping>
> >
> >     <filter-mapping>
> >         <filter-name>dcwAuthfilter</filter-name>
> >         <url-pattern>/view/m/*</url-pattern>
> >     </filter-mapping>
> >
> >     <filter-mapping>
> >         <filter-name>dcwAuthfilter</filter-name>
> >         <url-pattern>/view/op/*</url-pattern>
> >     </filter-mapping>
> >
> >
> > <!-- lile -->
> > <filter>
> >         <filter-name>extensionsFilter</filter-name>
> >
> > <filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter
> </filter-class>
> >         <init-param>
> >             <param-name>uploadMaxFileSize</param-name>
> >             <param-value>100m</param-value>
> >             <description>Set the size limit for uploaded files.
> >                 Format: 10 - 10 bytes
> >                         10k - 10 KB
> >                         10m - 10 MB
> >                         1g - 1 GB
> >             </description>
> >         </init-param>
> >         <init-param>
> >             <param-name>uploadThresholdSize</param-name>
> >             <param-value>100m</param-value>
> >             <description>Set the threshold size - files
> >                     below this limit are stored in memory, files above
> >                     this limit are stored on disk.
> >
> >                 Format: 10 - 10 bytes
> >                         10k - 10 KB
> >                         10m - 10 MB
> >                         1g - 1 GB
> >             </description>
> >         </init-param>
> >             <init-param>
> >             <param-name>uploadRepositoryPath</param-name>
> >             <param-value>/work</param-value>
> >             <description>Set the path where the intermediary files will
> be
> > stored.
> >             </description>
> >         </init-param>
> >     </filter>
> >     <!-- lile -->
> >
> >
> >
> >  <!--
> >     <listener>
> >
> > <listener-class>org.seasar.teeda.core.webapp.TeedaConfigureListener
> > </listener-class>
> >     </listener>
> >  -->
> >
> >  <!-- Teeda initialize servlet -->
> >     <servlet>
> >         <servlet-name>teedaServlet</servlet-name>
> >
> > <servlet-class>org.seasar.teeda.core.webapp.TeedaServlet</servlet-class>
> > <!--    If you want to run teeda-html-example as Portlet, replace
> > TeedaServlet with
> >         TeedaPortletExtendedServlet and add S2Portlet and Portlet
> Filter.
> >         S2Portlet: http://s2portlet.sandbox.seasar.org/
> >         Portlet Filter: http://portals.apache.org/bridges/
> >
> > <servlet-class>org.seasar.teeda.core.webapp.TeedaPortletExtendedServlet
> > </servlet-class>
> > -->
> >         <init-param>
> >          <param-name>configPath</param-name>
> >          <param-value>app.dicon</param-value>
> >      </init-param>
> >      <init-param>
> >          <param-name>debug</param-name>
> >          <param-value>true</param-value>
> >      </init-param>
> >         <load-on-startup>1</load-on-startup>
> >     </servlet>
> >
> >     <!-- facesServlet -->
> >     <servlet>
> >         <servlet-name>facesServlet</servlet-name>
> >         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
> >         <load-on-startup>2</load-on-startup>
> >     </servlet>
> >
> >     <servlet>
> >         <servlet-name>ajaxServlet</servlet-name>
> >
> > <servlet-class>org.seasar.teeda.ajax.AjaxServlet</servlet-class>
> >         <load-on-startup>3</load-on-startup>
> >     </servlet>
> >
> >
> >     <servlet-mapping>
> >         <servlet-name>facesServlet</servlet-name>
> >         <url-pattern>*.html</url-pattern>
> >     </servlet-mapping>
> >
> >     <servlet-mapping>
> >         <servlet-name>teedaServlet</servlet-name>
> >         <url-pattern>/teedaServlet</url-pattern>
> >     </servlet-mapping>
> >
> >     <servlet-mapping>
> >         <servlet-name>ajaxServlet</servlet-name>
> >         <url-pattern>*.ajax</url-pattern>
> >     </servlet-mapping>
> >
> >
> >     <session-config>
> >         <session-timeout>100</session-timeout>
> >     </session-config>
> >
> >     <welcome-file-list>
> >         <welcome-file>view/main.html</welcome-file>
> >     </welcome-file-list>
> >
> > </web-app>
> >
> >
> >
> > 2007/10/12, Shinpei Ohtani <[E-MAIL ADDRESS DELETED]>:
> > > Ok, please show me:
> > > -web.xml
> > > -version of Teeda, Seasar2, and Tomahawk and commons-fileupload
> > >
> > > I am going to figure out as much as I can.
> > > And, did you see teeda-html-example that I told you?
> > > Any differences you see or not?
> > >
> > >
> > > 2007/10/11, 川赤 <[E-MAIL ADDRESS DELETED] >:
> > > > I'am sorry but of course i have getter&setter methods in my page
> class.
> > > > And i also has these namespace in my html file.
> > > > It's my fault that i didn't peist these code .
> > > >
> > > > As i said , i don't want to show the inputFileUpload,thus i hide it.
> > > > I want to use another button to achieve the upload function,
> > > > so i wrote a js to call the inputFileUpload's click method , when i
> > clicked
> > > > another button.
> > > >
> > > > I wanna if these's something wrong with my web.xml?
> > > > should i write anything else ?
> > > >
> > > > 2007/10/11, Shinpei Ohtani < [E-MAIL ADDRESS DELETED]>:
> > > > >
> > > > > Hey,
> > > > >
> > > > > Ok, I see there might be some problems.
> > > > >
> > > > > Is there setter/getter for "private UploadedFile applyFile"?
> > > > > We must have it.
> > > > >
> > > > > And I also mention that your html has namespace something like
> below
> > > > > to use FileUpload.So, make sure for that.
> > > > >
> > > > > <?xml version=" 1.0" encoding="UTF-8"?>
> > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> > > > >
> > > > "
> > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> > > > > <html xmlns:x=" http://myfaces.apache.org/tomahawk"
> > > > > xmlns=" http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
> > > > >
> > > > >
> > > > > I don't get there is some javascript for the button, but
> > > > > I think it does not need to.What is it for?
> > > > >
> > > > >
> > > > > Before having more help from this ML,
> > > > > please see upload example from teeda-html-example.
> > > > > (
> > > >
> >
> http://teeda.seasar.org/download/2007-10-10/teeda-html-example-1.0.11-SP1.zip
> )
> > > > > It might be helpful.
> > > > >
> > > > > Thanks, anyway.
> > > > >
> > > > >
> > > > > 2007/10/11, 川赤 <[E-MAIL ADDRESS DELETED]>:
> > > > > >
> > > >
> >
> ----------------------------------------page-----------------------------------------------------
> > > > > > package jp.wess.web.entrcdApply;
> > > > > >
> > > > > > public class EntrcdObjectListPage extends BaseGridPage {
> > > > > >     private UploadedFile applyFile;
> > > > > >
> > > > > >         public String doPaging() {
> > > > > >             super.setLimit(2);
> > > > > >             applyNoDto.setOffset(super.getNewOffset());
> > > > > >             applyNoDto.setLimit (super.getLimit());
> > > > > >             if ("apply".equals(flag)) {
> > > > > >                 applyTargetInfoItems =
> > > > > >
> > getEntrcdTargetInfoDao().getTargetInfoList(applyNoDto);
> > > > > >                 super.setCount (applyNoDto.getCount());
> > > > > >             } else {
> > > > > >                 reissueTargetInfoItems =
> > > > > >
> > getEntrcdReissueTargetInfoDao().getList(applyNoDto);
> > > > > >                 super.setCount(applyNoDto.getCount ());
> > > > > >             }
> > > > > >             return null;
> > > > > >         }
> > > > > >
> > > > > >         public String doApplyUpload() throws IOException {
> > > > > >             String name = applyFile.getName ();
> > > > > >             long size = applyFile.getSize();
> > > > > >             System.out.println(name);
> > > > > >             System.out.println (size);
> > > > > >             InputStream in = null;
> > > > > >             OutputStream out = null;
> > > > > >             String path = "D:\\aaa.txt";
> > > > > >             in = applyFile.getInputStream();
> > > > > >             out = new FileOutputStream(path);
> > > > > >             int read = 0;
> > > > > >             int byteLength = applyFile.getBytes().length;
> > > > > >             byte[] buffer = new byte[byteLength];
> > > > > >             while ((read = in.read(buffer)) != -1) {
> > > > > >                 out.write(buffer, 0, read);
> > > > > >             }
> > > > > >             out.close();
> > > > > >             in.close();
> > > > > > //            long fileSize1 = applyFile.getSize();
> > > > > >             try {
> > > > > >                 applyFile.getBytes();
> > > > > >              } catch (IOException e) {
> > > > > >                 // TODO Auto-generated catch block
> > > > > >                 e.printStackTrace();
> > > > > >             }
> > > > > >             return null;
> > > > > >         }
> > > > > > }
> > > > > >
> > > >
> >
> ----------------------------------------html-----------------------------------------
> > > > > > <form id="form">
> > > > > > <x:inputFileUpload
> > > > > >   id="applyFile" name="applyFile" style="display:none"
> > > > > >
> > value="#{entrcdApply_entrcdObjectListPage.applyFile}"
> > > > > > />
> > > > > > <input type="submit" class="button large"  value="¥¢¥Ã¥×¥í©`¥É"
> > > > > >
> > onclick="uploadfile('doApplyUpload','applyFile')"
> > > > > > id="doApplyUpload"/>
> > > > > >
> > > > > >
> > > >
> >
> -------------------------------------------------JavaScript-----------------------------------
> > > > > >
> > > > > >
> > > > > > function uploadfile(btna, btnb) {
> > > > > >
> > > > > > var buttona = document.getElementsByName(btna);
> > > > > > var buttonb = document.getElementByName(btnb);
> > > > > > buttonb.click ();
> > > > > > }
> > > > > >
> > > > > > 參貧。
> > > > > > 2007/10/11, Shinpei Ohtani <[E-MAIL ADDRESS DELETED]>:
> > > > > > > Hi,
> > > > > > >
> > > > > > > Let me see your page class and html.
> > > > > > >
> > > > > > > 2007/10/11, 川赤 < [E-MAIL ADDRESS DELETED]>:
> > > > > > > > I want to upload file,but i don't want to display the
> inputtext
> > and
> > > > > > button
> > > > > > > > as system designed ,so i hiddened it .
> > > > > > > > I'd like to place a button to call the uploadfile button
> which
> > is
> > > > > > hidden.
> > > > > > > >
> > > > > > > > My code is like this:
> > > > > > > >
> > > > > > > > <x:inputFileUpload
> > > > > > > >   id="applyFile"  style="display:none"
> > > > name="applyFile"
> > > > > > > >   value="#{Apply_ListPage.applyFile}"
> > > > > > > > />
> > > > > > > >  <input type="submit"  name="applyupload"
> > > > > > value="¥¢¥Ã¥×¥í©`¥É"
> > > > > > > >
> > > > onclick="uploadfile('doApplyUpload','applyFile')"
> > > > > > > > id="doApplyUpload"/>
> > > > > > > >
> > > > > > > >
> > > > > > > > function uploadfile(btna, btnb) {
> > > > > > > >
> > > > > > > >  var buttona = document.getElementsByName(btna);
> > > > > > > >  var buttonb = document.getElementsByName (btnb);
> > > > > > > >  buttonb.click ();
> > > > > > > > }
> > > > > > > > It doesn't work. Why?
> > > > > > > >
> > > > > > > > Is there any other way to achieve my goal.
> > > > > > > > _______________________________________________
> > > > > > > > Seasar-user mailing list
> > > > > > > > [E-MAIL ADDRESS DELETED]
> > > > > > > >
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > =============================
> > > > > > > Shinpei Ohtani
> > > > > > > [E-MAIL ADDRESS DELETED]
> > > > > > > =============================
> > > > > > >
> > > > > > > _______________________________________________
> > > > > > > Seasar-user mailing list
> > > > > > > [E-MAIL ADDRESS DELETED]
> > > > > > >
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > _______________________________________________
> > > > > > Seasar-user mailing list
> > > > > > [E-MAIL ADDRESS DELETED]
> > > > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > =============================
> > > > > Shinpei Ohtani
> > > > > [E-MAIL ADDRESS DELETED]
> > > > > =============================
> > > > >
> > > > > _______________________________________________
> > > > > Seasar-user mailing list
> > > > > [E-MAIL ADDRESS DELETED]
> > > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > > >
> > > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Seasar-user mailing list
> > > > [E-MAIL ADDRESS DELETED]
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > >
> > > >
> > >
> > >
> > > --
> > > =============================
> > > Shinpei Ohtani
> > > [E-MAIL ADDRESS DELETED]
> > > =============================
> > >
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> > >
> >
> >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> >
>
>
> --
> =============================
> Shinpei Ohtani
> [E-MAIL ADDRESS DELETED]
> =============================
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20071012/cfea4426/attachment.html 


Seasar-user メーリングリストの案内