国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

限制上傳大小、用COS實現文件上傳與下載 五(63)

2019-11-15 00:13:50
字體:
來源:轉載
供稿:網友
限制上傳大小、用COS實現文件上傳與下載 五(63)

一 限制上傳大小

1:限制總文件的大小 。 如 上傳10文件,設置最多總上傳大小為100M。

void

setSizeMax(longsizeMax) Sets the maximum allowed size of a complete request, as opposed to setFileSizeMax(long).

2:設置第每一個文件的大小 ,如果設置每 一個文件大小10M。

void

setFileSizeMax(longfileSizeMax) Sets the maximum allowed size of a single uploaded file, as opposed to getSizeMax().

二用COS實現文件上傳

package cn.hx;import java.io.File;import java.io.IOException;import java.io.PRintWriter;import java.util.UUID;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.oreilly.servlet.MultipartRequest;import com.oreilly.servlet.multipart.DefaultFileRenamePolicy;import com.oreilly.servlet.multipart.FileRenamePolicy;/** * 在Cos中就一個類, * MultipartRequest它是request的包裝類。 */public class CosServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse resp)throws ServletException, IOException {       //第一步:聲明文件的保存目錄       String path = getServletContext().getRealPath("/up");       //第二步:文件傳       //聲明文件重新取名的策略       FileRenamePolicy rename = new DefaultFileRenamePolicy();       MultipartRequest req =              new MultipartRequest(request,path,1024*1024*100,"UTF-8",new MyRename());//     //第三步:顯示信息,       resp.setContentType("text/html;charset=UTf-8");       PrintWriter out = resp.getWriter();       out.print("文件名稱1:"+req.getOriginalFileName("img1"));       out.print("<br/>新名稱:"+req.getFilesystemName("img1"));       out.print("<br/>類型1:"+req.getContentType("img1"));       out.print("<br/>大小1:"+req.getFile("img1").length());       out.print("<br/>說明:"+req.getParameter("desc1"));       if(req.getContentType("img1").contains("image/")){           out.print("<img src='"+request.getContextPath()+"/up/"+req.getFilesystemName("img1")+"'></img>");       }    }}class MyRename implements FileRenamePolicy{    public File rename(File file) {       String fileName = file.getName();       String extName = fileName.substring(fileName.lastIndexOf("."));       String uuid = UUID.randomUUID().toString().replace("-","");       String newName = uuid+extName;//abc.jpg       file = new File(file.getParent(),newName);       return file;    }}

三下載

即可是get也可以是post。

public void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

req.setCharacterEncoding("UTF-8");

String name = req.getParameter("name");

//第一步:設置響應的類型

resp.setContentType("application/force-download");

//第二讀取文件

String path = getServletContext().getRealPath("/up/"+name);

InputStream in = new FileInputStream(path);

//設置響應頭

//對文件名進行url編碼

name = URLEncoder.encode(name, "UTF-8");

resp.setHeader("Content-Disposition","attachment;filename="+name);

resp.setContentLength(in.available());

//第三步:開始文件copy

OutputStream out = resp.getOutputStream();

byte[] b = new byte[1024];

int len = 0;

while((len=in.read(b))!=-1){

out.write(b,0,len);

}

out.close();

in.close();

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 深泽县| 滨海县| 子洲县| 信阳市| 阿鲁科尔沁旗| 突泉县| 张家川| 堆龙德庆县| 共和县| 东辽县| 宜春市| 徐水县| 天柱县| 张家口市| 徐闻县| 金平| 滦平县| 视频| 宁武县| 襄汾县| 津南区| 大兴区| 鹿邑县| 涞水县| 永州市| 梨树县| 栾城县| 广丰县| 三穗县| 宁晋县| 安达市| 阳西县| 莱西市| 雅安市| 布尔津县| 沧源| 邢台市| 若尔盖县| 大田县| 景谷| 武川县|