如果我在注册界面要上传照片要用到<s:file name="" accept="" />那怎么把上传的照片,整到数据库里面去?
accept怎么设置?数据库中是存照片还是存照片路径?用什么数据类型,是varchar还是blob?求教~~

解决方案 »

  1.   

    数据库 里面我存的是照片路径  varchar 类型
      

  2.   

    插播一句,下面这些警告时怎么回事?Exception starting filter struts2
    Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/D:/program/apache-tomcat-6.0.18/webapps/Vehicle/WEB-INF b/struts2-core-2.0.14.jar!/struts-default.xml:30:72
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:208)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:205)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - jar:file:/D:/program/apache-tomcat-6.0.18 b/SWLib_1.1.0.jar!/struts-default.xml:30:72 - bean - jar:file:/D:/program/apache-tomcat-6.0.18/webapps/Vehicle/WEB-INF b/struts2-core-2.0.14.jar!/struts-default.xml:30:72
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:193)
    ... 33 more
      

  3.   

    呵呵,大家好!我是猎头cindy,我们公司是一家专门focus在IT行业的猎头公司,目前有高级JAVA开发工程师,软件架构师和系统分析工程师的职位,感兴趣的朋友可以加我的msn:[email protected],我们详细沟通,呵呵,不考虑也可以加我的,我们保持联系:-)
      

  4.   

    在数据库中存储路径,这个是目前来说比较好的上传实现了,你的错误代码?你用的struts1?
    包包没有正确导入吧
      

  5.   

    InputStream is = new FileInputStream(file);
    String root = ServletActionContext.getRequest().getRealPath(
    "/upload");
    String sub = this.getFileFileName();
    String subname = sub.substring(sub.lastIndexOf(".", sub
    .length()));
    subname = subname.toLowerCase();// 全部转换成小写。
    String filename = id + subname;
    thephoto = filename;
    File destFile = new File(root, filename);
    OutputStream os = new FileOutputStream(destFile);
    byte[] buffer = new byte[400];
    int length = 0;
    while ((length = is.read(buffer)) > 0) {
    os.write(buffer, 0, length);
    }
    is.close();
    os.close();
    我在<s:file name="file"></s:file>没有写accept,只是在java里
    subname = subname.toLowerCase();// 全部转换成小写。
    String filename = id + subname;
    thephoto = filename;
    获取路径
      

  6.   

    那个错误搞得很恼火,最后一气之下,把Tomcat重装了,问题解决~~