当前位置:首页 » 文件管理 » 图片上传功能java

图片上传功能java

发布时间: 2024-10-07 10:14:18

❶ 请问用java 如何实现图片上传功能

自己写程序来上传字节流文件很难的,用SmartUpload.jar包吧,专门用于JSP上传下载的,唯一缺点就是中文支持不太好,不过你可以改一下原程序的字符集就行了。上网搜,没有找我!我给你发

❷ java下FCKeditor上传图片问题

先到tomcat->webapps里建立一个文件夹叫mysite。把FCKeditor里的/editor和fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml四个文件到mysite文件夹里,因为别的文件对我们来说没有什么意义。再把FCKeditor.java 2.3中的web目录下的WEB-INF目录到mysite下(里面有commons-fileupload.jar, FCKeditor-2.3.jar,web.xml等几个文件), 把其中的src目录下的FCKeditor.tld文件到mysite/WEB-INF/下.这样它才支持JSP。

下面我们要对其中的一些文件进行修改:
打开fckconfig.js 文件,修改 FCKConfig.DefaultLanguage = ''zh-cn'' ;
把FCKConfig.LinkBrowserURL等的值替换成以下内容:
FCKConfig.LinkBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Connector=connectors/jsp/connector" ;

FCKConfig.ImageBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector" ;

FCKConfig.FlashBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector" ;

FCKConfig.LinkUploadURL = FCKConfig.BasePath + ''filemanager/upload/simpleuploader?Type=File'' ;

FCKConfig.FlashUploadURL = FCKConfig.BasePath + ''filemanager/upload/simpleuploader?Type=Flash'' ;

FCKConfig.ImageUploadURL = FCKConfig.BasePath + ''filemanager/upload/simpleuploader?Type=Image'' ;

打开WEB-INF下面的web.xml文件:
把SimpleUploader中的配置属性enabled定义为true(开启文件上传功能)
添加标签定义:
<taglib>
<taglib-uri>/mysite</taglib-uri>
<taglib-location>/WEB-INF/FCKeditor.tld</taglib-location>
</taglib>

这样文件就设置完了,这时建立一个jsp文件试试:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" import="java.util.*" import="java.text.*" errorPage="" %>
<%@ page language="java" import="com.fredck.FCKeditor.*" %>
<%@ taglib uri="/mysite" prefix="FCK" %>
<script type="text/javascript" src="/mysite/fckeditor.js"></script>
<form method="POST" action="Bs_Bulletin_save.jsp">
<table width="100%" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="19%" bgcolor="#F0F0F0" height="25" align="right">标题:</td>
<td width="81%" bgcolor="#F0F0F0"><INPUT TYPE="text" NAME="title" size="58"></td>
</tr>
<tr>
<td width="19%" height="300" bgcolor="#F0F0F0">
<div align="center">中文信息设置<BR><BR>
<span style="color: #FF0000">支持html(图片大小宽度不要超过170个象素)</span></div>
</td>
<td width="81%" bgcolor="#F0F0F0">
<textarea name="content" cols="58" rows="15"></textarea>
<script type="text/javascript">
var oFCKeditor = new FCKeditor(''content'') ;
oFCKeditor.BasePath = "/mysite/" ;
oFCKeditor.Height = 400;
oFCKeditor.ToolbarSet = "Default" ;
oFCKeditor.ReplaceTextarea();
</script>
</td>
</tr>
<tr>
<td width="19%" height="25" bgcolor="#F0F0F0">发布时间:</td>
<td width="81%" bgcolor="#F0F0F0"><INPUT TYPE="text" NAME="datatimes" value="<%=time%>" size="58"></td>
</tr>

<tr>
<td colspan="2" bgcolor="#F0F0F0">
<div align="center"><input type="submit" value=" 添 加 " name="cmdok"><input type="reset" value=" 重 写 " name="cmdcancel"></div></td>
</tr>
</table>
</form>

加红字的部分,就是调用这个在线编辑器了。现在上传的图看一下,提示internal server error 500,还记得一开始时,我们提到的xalan.jar吗,现在把xalan.jar放到lib文件夹里,关掉tomcat再重起一下,应该好用了……

注意,如果想把这个控件融入你现有的web应用系统中,就不需要新建mysite了,你可以这样做:

1、把FCKeditor里的/editor和fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml四个文件直接到现有web应用的某个目录下。

2、把FCKeditor.java 2.3中WEB-INF目录里的commons-fileupload.jar, FCKeditor-2.3.jar放在现有系统的lib目录下。

3、在现有系统的web.xml中加入FCKeditor.java 2.3中web.xml的配置信息,并添加标签定义:
<taglib>
<taglib-uri>/mysite</taglib-uri>
<taglib-location>/WEB-INF/FCKeditor.tld</taglib-location>
</taglib>
这里别忘了把SimpleUploader中的配置属性enabled定义为true以开启文件上传功能!

4、然后把FCKeditor.tld文件到现有系统的WEB-INF/下,这样就可以了。当然,FCKeditor.tld的位置不是绝对的,你可以放在其它地方,只要在前面的标签定义中指定相应的位置就行了。

附:FCKeditor.java中web.xml配置信息
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>com.fredck.FCKeditor.connector.ConnectorServlet</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<param-value>/UserFiles/</param-value><!--上传附件所在根路径 -->
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value><!--启动服务时是否显示调试信息 -->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>SimpleUploader</servlet-name>
<servlet-class>com.fredck.FCKeditor.uploader.SimpleUploaderServlet</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<param-value>/UserFiles/</param-value><!--上传附件所在根路径 -->
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value><!--启动服务时是否显示调试信息 -->
</init-param>
<init-param>
<param-name>enabled</param-name>
<param-value>true</param-value><!--是否开启上传文件功能 -->
</init-param>
<init-param>
<param-name>AllowedExtensionsFile</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>DeniedExtensionsFile</param-name>
<param-value>php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi</param-value>
</init-param>
<init-param>
<param-name>AllowedExtensionsImage</param-name>
<param-value>jpg|gif|jpeg|png|bmp</param-value>
</init-param>
<init-param>
<param-name>DeniedExtensionsImage</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>AllowedExtensionsFlash</param-name>
<param-value>swf|fla</param-value>
</init-param>
<init-param>
<param-name>DeniedExtensionsFlash</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>/webapp/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern><!--FCKeditor所在目录,即/editor和fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml四个文件所在目录 -->
</servlet-mapping>

<servlet-mapping>
<servlet-name>SimpleUploader</servlet-name>
<url-pattern>/webapp/FCKeditor/editor/filemanager/upload/simpleuploader</url-pattern><!--FCKeditor所在目录 -->
</servlet-mapping>

<taglib>
<taglib-uri>/home/project/law/FCKeditor</taglib-uri>
<taglib-location>/WEB-INF/FCKeditor.tld</taglib-location><!--FCKeditor.tld路径 -->
</taglib>

❸ 我用java写了个上传图片的功能,上传后为什么只有重启tomcat后,图片才能显示呢

不能把文件传到项目的工作空间去了,应该传到tomcat对应的项目下才行.
比如我的tomcat装在c盘下的,那么在路径C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps下会有个和工作空间里项目一样名称的文件夹,得把文件传到这里.

❹ java实现图片上传至服务器并显示,如何做

给你段代码,是用来在ie上显示图片的(servlet):

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id = request.getParameter("id");
File file = new File(getServletContext().getRealPath("/")+"out"+"/"+id+".gif");
response.setCharacterEncoding("gb2312");
response.setContentType("doc");
response.setHeader("Content-Disposition", "attachment; filename=" + new String(file.getName().getBytes("gb2312"),"iso8859-1"));

System.out.println(new String(file.getName().getBytes("gb2312"),"gb2312"));

OutputStream output = null;
FileInputStream fis = null;
try
{
output = response.getOutputStream();
fis = new FileInputStream(file);

byte[] b = new byte[1024];
int i = 0;

while((i = fis.read(b))!=-1)
{

output.write(b, 0, i);
}
output.write(b, 0, b.length);

output.flush();
response.flushBuffer();
}
catch(Exception e)
{
System.out.println("Error!");
e.printStackTrace();
}
finally
{
if(fis != null)
{
fis.close();
fis = null;
}
if(output != null)
{
output.close();
output = null;
}
}

}

这个程序的功能是根据传入的文件名(id),来为浏览器返回图片流,显示在<img>标签里
标签的格式写成如下:
<img src="http://localhost:8080/app/preview?id=111 "/><br/>
显示的是111.gif这个图片

你上面的问题:
1.我觉得你的第二个办法是对的,我们也是这样做的,需要的是把数据库的记录id号传进servlet,然后读取这条记录中的路径信息,生成流以后返回就是了

关于上传文件的问题,我记得java中应该专门有个负责文件上传的类,你调用就行了,上传后存储在指定的目录里,以实体文件的形式存放
你可以参考这个:
http://blog.csdn.net/arielxp/archive/2004/09/28/119592.aspx

回复:
1.是的,在response中写入流就行了
2.是发到servlet中的,我们一般都是写成servlet,短小精悍,使用起来方便,struts应该也可以,只是我没有试过,恩,你理解的很对

热点内容
问道刷道队伍怎么配置 发布:2024-10-07 12:09:17 浏览:321
androidservice使用 发布:2024-10-07 12:00:01 浏览:261
乐视2安卓版本怎么升级 发布:2024-10-07 11:51:11 浏览:696
方舟电脑版怎么进入官方服务器 发布:2024-10-07 11:09:32 浏览:805
百度云快速上传 发布:2024-10-07 10:52:25 浏览:480
java岛屿 发布:2024-10-07 10:29:25 浏览:971
qq会员的密码是多少 发布:2024-10-07 10:26:03 浏览:761
访问源服务器ip 发布:2024-10-07 10:24:31 浏览:55
脚本整理 发布:2024-10-07 10:20:48 浏览:234
图片上传功能java 发布:2024-10-07 10:14:18 浏览:130