‘壹’ java 上传图片为什么大一点就不行了,我上传2M以上的就不行。 只要超过2M就出现404..
大文件上传设置
通过一个常量可以改变上传文件的大小
<constant name="struts.multipart.maxSize" value=""> 设置value的值即可
‘贰’ java 上传文件 限制大小
这个一般我们在后台配置,比如你如果使用的是struts2框架,就可以在struts.xml中添加配置项:
<constant name="struts.multipart.maxSize" value="52428800" />
‘叁’ java编程:文件上传,,普通上传没有控件,怎么限制他的大小啊,比如上传文件不得超过10M,求大神
在后台action中判断,把上传的文件流用字节读出来,判断这个文件的字节流大小。然后根据自己的设置的最多进行判断,1kb=1024b
‘肆’ java 实现文件上传不超过5m 怎样实现
个人觉得是上传的文件相对较大需要一定的时间,取消功能可能指用户上传到一半的时候可以选择停止上传。实现方法参考:上传文件io传输时必然有循环,在循环中设置监听变量,每次循环前都判断下该变量是否为true,若不是return/结束程序。当提交取消功能时设置监听变量为false,其间可能会设计到多线程问题,要好好考虑。
‘伍’ java类中如何控制用户上传的图片大小不能超过100k-CSDN论坛
var AllowImgFileSize=0; //允许上传图片文件的大小 0为无限制 单位:KB
ImgFileSize=Math.round(ImgObj.fileSize/1024*100)/100;//取得图片文件的大小
if(AllowImgFileSize!=0&&AllowImgFileSize<ImgFileSize)
ErrMsg=ErrMsg+"\n图片文件大小超过限制。请上传小于"+AllowImgFileSize+"KB的文件,当前文件大小为"+ImgFileSize+"KB";
‘陆’ java上传文件怎么实现的
common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件
下面先介绍上传文件到服务器(多文件上传):
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.regex.*;
import org.apache.commons.fileupload.*;
public class upload extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置允许用户上传文件大小,单位:字节,这里设为2m
fu.setSizeMax(2*1024*1024);
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(4096);
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
fu.setRepositoryPath("c://windows//temp");
//开始读取上传信息
List fileItems = fu.parseRequest(request);
// 依次处理每个上传的文件
Iterator iter = fileItems.iterator();
//正则匹配,过滤路径取文件名
String regExp=".+////(.+)$";
//过滤掉的文件类型
String[] errorType={".exe",".com",".cgi",".asp"};
Pattern p = Pattern.compile(regExp);
while (iter.hasNext()) {
FileItem item = (FileItem)iter.next();
//忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
Matcher m = p.matcher(name);
boolean result = m.find();
if (result){
for (int temp=0;temp<ERRORTYPE.LENGTH;TEMP++){
if (m.group(1).endsWith(errorType[temp])){
throw new IOException(name+": wrong type");
}
}
try{
//保存上传的文件到指定的目录
//在下文中上传文件至数据库时,将对这里改写
item.write(new File("d://" + m.group(1)));
out.print(name+" "+size+"");
}
catch(Exception e){
out.println(e);
}
}
else
{
throw new IOException("fail to upload");
}
}
}
}
catch (IOException e){
out.println(e);
}
catch (FileUploadException e){
out.println(e);
}
}
}
现在介绍上传文件到服务器,下面只写出相关代码:
以sql2000为例,表结构如下:
字段名:name filecode
类型: varchar image
数据库插入代码为:PreparedStatement pstmt=conn.prepareStatement("insert into test values(?,?)");
代码如下:
。。。。。。
try{
这段代码如果不去掉,将一同写入到服务器中
//item.write(new File("d://" + m.group(1)));
int byteread=0;
//读取输入流,也就是上传的文件内容
InputStream inStream=item.getInputStream();
pstmt.setString(1,m.group(1));
pstmt.setBinaryStream(2,inStream,(int)size);
pstmt.executeUpdate();
inStream.close();
out.println(name+" "+size+" ");
}
。。。。。。
这样就实现了上传文件至数据库
‘柒’ java ftp上传5G以上大文件,怎么做
java上传可以使用common-fileupload上传组件的。common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件下面先介绍上传文件到服务器(多文件上传):import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.regex.*;
import org.apache.commons.fileupload.*;
public class upload extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置允许用户上传文件大小,单位:字节,这里设为2m
fu.setSizeMax(2*1024*1024);
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(4096);
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
fu.setRepositoryPath("c:\\windows\\temp");
//开始读取上传信息
List fileItems = fu.parseRequest(request);
// 依次处理每个上传的文件
Iterator iter = fileItems.iterator();//正则匹配,过滤路径取文件名
String regExp=".+\\\\(.+)$";//过滤掉的文件类型
String[] errorType={".exe",".com",".cgi",".asp"};
Pattern p = Pattern.compile(regExp);
while (iter.hasNext()) {
FileItem item = (FileItem)iter.next();
//忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
Matcher m = p.matcher(name);
boolean result = m.find();
if (result){
for (int temp=0;temp if (m.group(1).endsWith(errorType[temp])){
throw new IOException(name+": wrong type");
}
}
try{//保存上传的文件到指定的目录//在下文中上传文件至数据库时,将对这里改写
item.write(new File("d:\\" + m.group(1))); out.print(name+" "+size+"
");
}
catch(Exception e){
out.println(e);
} }
else
{
throw new IOException("fail to upload");
}
}
}
}
catch (IOException e){
out.println(e);
}
catch (FileUploadException e){
out.println(e);
}
}
}
‘捌’ JAVA大文件上传
可能原因1.上传空间不支持JAVA程序文件。2上传空间容量不足3.2G.
‘玖’ java用org.apache.commons.fileupload.servlet.ServletFileUpload上传文件,限制上传文件大小。急在线等。
eclipse项目包含build文件夹,myeclipse没有这个文件夹,你在import的时候常规general下有4个选项,archive file,exists project,file system,prefrences(档案文件或压缩档案,现存项目,文件系统,首选项),一般完整项目使用第二个,但是如果别人上传的是文件,就使用文件系统导入,看看项目是什么工具做的,再根据具体情况导入
‘拾’ 在Java中,文件上传时怎样判断并限制附件大小
你是用什么方式上传的? 如果是JQUERY 'onSelect': function(e, queueId, fileObj) 在这里
判断多大fileObj.size 超过 就提示 并return false 就可以了 如果是普通上传 可以读到文件路径 一样用 File file = new File(path); file .size 判断 如果超过 就不给上传 并提示到页面就可以了
struts上传还可以在配置文件里面做限制 struts.properties 里面 加上这个
struts.multipart.maxSize=2097152