當前位置:首頁 » 文件管理 » java上傳文件大小限制

java上傳文件大小限制

發布時間: 2022-08-23 01:40:13

java編程:文件上傳,,普通上傳沒有控制項,怎麼限制他的大小啊,比如上傳文件不得超過10M,求大神

在後台action中判斷,把上傳的文件流用位元組讀出來,判斷這個文件的位元組流大小。然後根據自己的設置的最多進行判斷,1kb=1024b

❷ java文件上傳為什麼超過30m後台代碼不執行

您好,希望以下回答能幫助您
可以在acton或者servlet中獲取上傳文件的大小,如果大於10M則不進行後面的邏輯處理、
如您還有疑問可繼續追問。

❸ 在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

❹ java 代碼怎麼樣設置上傳文件不可超過10MB

Set Upload = New UpFile_Class Upload.InceptFileType = "gif,jpg,bmp,jpeg,png" Upload.MaxSize = 10240000 JAVA編的網頁。第一行:新建一個類第二行:可以上傳的圖片格式「XXX」 第三行:最大上傳大小 把「1024」後面的「0000」加上幾個0就行,現在是100K,加一個0就是1MB,兩個就是10MB,自己修改吧 這個也是轉載來的 很不錯哦,你可以試下的 呵呵

❺ java通過sftp上傳大文件,時間長,而且會提示超出GC開銷限制,內存溢出,這種問題怎麼解決

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GBK");
HttpSession session = (HttpSession) request.getSession();
final long MAX_SIZE = 10 * 1024 * 1024;// 設置上傳文件最大為 10M
// 允許上傳的文件格式的列表
final String[] allowedExt = new String[] { "jpg", "jpeg", "gif", "png",
"JPG", "bmp", "BMP" };
response.setContentType("text/html;charset=gbk");
// 設置字元編碼為UTF-8, 這樣支持漢字顯示
response.setCharacterEncoding("GBK");
String strImageName = (String) session.getAttribute("strName");
if (ServletFileUpload.isMultipartContent(request)) {
// 實例化一個硬碟文件工廠,用來配置上傳組件ServletFileUpload
DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);// 設置上傳文件時用於臨時存放文件的內存大小,這里是4K.多於的部分將臨時存在硬碟
dfif.setRepository(new File(this.getServletContext().getRealPath(
"/")
+ "Image"));// 設置存放臨時文件的目錄,web根目錄下的Image目錄
// 用以上工廠實例化上傳組件
ServletFileUpload sfu = new ServletFileUpload(dfif); // 設置最大上傳尺寸
sfu.setSizeMax(MAX_SIZE); PrintWriter out = response.getWriter();
// 從request得到 所有 上傳域的列表
List fileList = null;
try {
fileList = sfu.parseRequest(request);
} catch (FileUploadException e) {// 處理文件尺寸過大異常
if (e instanceof SizeLimitExceededException) {
out.println("文件尺寸超過規定大小:" + MAX_SIZE + "位元組<p />");
out.println("<a href='addGoods.jsp' >返回</a>");
return;
}
e.printStackTrace();
}
// 沒有文件上傳
if (fileList == null || fileList.size() == 0) {
out.println("請選擇要上傳文件a<p />");
out.println("<a href='addGoods.jsp' >返回</a>");
return;
}
// 得到所有上傳的文件
Iterator fileItr = fileList.iterator();
// 循環處理所有文件
this.list = new ArrayList();
while (fileItr.hasNext()) {
long size = 0;
// 得到當前文件
fileItem = (FileItem) fileItr.next();
// 忽略簡單form欄位而不是上傳域的文件域(<input type="text" />等)
if (fileItem == null || fileItem.isFormField()) {
System.out.println(fileItem.getFieldName());
inputstr = fileItem.getString("GBK");
list.add(inputstr);
continue;
}
// 得到文件的完整路徑
path = fileItem.getName();
// 得到文件的大小
size = fileItem.getSize();
if ("".equals(path) || size == 0) {
out.println("請選擇上傳文件<p />");
out.println("<a href='addGoods.jsp' >返回</a>");
return;
}
System.out.println("文件的完整路徑" + path);
// 得到去除路徑的文件名
t_name = path.substring(path.lastIndexOf("\\") + 1);
// 得到文件的擴展名(無擴展名時將得到全名)
String t_ext = t_name.substring(t_name.lastIndexOf(".") + 1);
// 拒絕接受規定文件格式之外的文件類型
//System.out.println("文件名:" + t_name);
//System.out.println("文件擴展名:"+t_ext);
// System.out.println(t_ext);
int allowFlag = 0;
int allowedExtCount = allowedExt.length;
for (; allowFlag < allowedExtCount; allowFlag++) {
if (allowedExt[allowFlag].equals(t_ext))
break;
}
if (allowFlag == allowedExtCount) {
out.println("請上傳以下類型的文件<p />");
for (allowFlag = 0; allowFlag < allowedExtCount; allowFlag++)
out.println("*." + allowedExt[allowFlag]
+ " ");
out.println("<p /><a href='addGoods.jsp' >返回</a>");
return;
}
long now = System.currentTimeMillis();
// 根據系統時間生成上傳後保存的文件名
u_name = this.getServletContext().getRealPath("/")
+ "ImageDown\\" + t_name;
//System.out.println(u_name);
try {
// 保存文件
fileItem.write(new File(u_name));
/*out
.println("文件上傳成功. 文件大小: " + size
+ "位元組<p />");
out.println("圖片上傳成功!"
+ "<a href='addGoods.jsp' >繼續添加商品</a>");*/
} catch (Exception e) {
e.printStackTrace();
}
}

❻ 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 上傳文件 限制大小

這個一般我們在後台配置,比如你如果使用的是struts2框架,就可以在struts.xml中添加配置項:
<constant name="struts.multipart.maxSize" value="52428800" />

❾ java 上傳文件 問題

不用 下載相應jar包 引入就可以了 import 你懂得

❿ 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);
}

}
}

熱點內容
如何尋找資產配置機會 發布:2024-10-13 19:13:47 瀏覽:374
轎車安卓中控怎麼安裝手機卡 發布:2024-10-13 19:05:23 瀏覽:450
商城首頁android 發布:2024-10-13 17:53:20 瀏覽:496
甲骨文雲伺服器如何申請 發布:2024-10-13 16:49:39 瀏覽:134
c語言中參數傳遞 發布:2024-10-13 16:30:15 瀏覽:81
cos伺服器搭建 發布:2024-10-13 16:17:41 瀏覽:336
象棋軟體演算法 發布:2024-10-13 15:32:35 瀏覽:901
平板怎麼看真正配置 發布:2024-10-13 14:53:32 瀏覽:35
微信存儲空間的其他 發布:2024-10-13 14:52:14 瀏覽:672
怎麼繞過系統密碼登錄密碼登錄密碼登錄 發布:2024-10-13 14:47:41 瀏覽:510