最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Bootstrap的fileinput插件實(shí)現(xiàn)多文件上傳的方法

 更新時(shí)間:2016年09月05日 11:51:16   作者:小寒丶java  
這篇文章主要介紹了Bootstrap的fileinput插件實(shí)現(xiàn)多文件上傳的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

*1.bootstrap-fileinput 插件git下載地址

https://github.com/kartik-v/bootstrap-fileinput.git

2.解決使用bootstrap-fileinput得到返回值

上傳圖片

$("#file-0a").fileinput({
uploadUrl : "/upload_img",//上傳圖片的url
allowedFileExtensions : [ 'jpg', 'png', 'gif' ],
overwriteInitial : false,
maxFileSize : 1000,//上傳文件最大的尺寸
maxFilesNum : 1,//上傳最大的文件數(shù)量
initialCaption: "請(qǐng)上傳商家logo",//文本框初始話value
//allowedFileTypes: ['image', 'video', 'flash'],
slugCallback : function(filename) {
return filename.replace('(', '_').replace(']', '_');
}
});

注意上傳圖片事件完之后,得到返回值寫法

$('#file-0a').on('fileuploaded', function(event, data, previewId, index) {
var form = data.form, files = data.files, extra = data.extra,
response = data.response, reader = data.reader;
console.log(response);//打印出返回的json
console.log(response.paths);//打印出路徑
});

jsp頁面

<input id="file-0a" class="file" type="file" multiple
data-min-file-count="1" name="upload_logo">

其中data-min-file-count=”1”是指文件上傳最低數(shù)量

3.服務(wù)端代碼

采用了spring自帶插件上傳,框架為Springmvc

Bean

import java.util.List;
public class Picture {
private List<String> paths;
public List<String> getPaths()
{
return paths;
}
public void setPaths(List<String> paths)
{
this.paths = paths;
} 
}

Controller

@ResponseBody
@RequestMapping(value="upload_img",method=RequestMethod.POST)
public Picture uploadImage(@RequestParam MultipartFile[] upload_logo) throws IOException{
log.info("上傳圖片");
Picture pic = new Picture();
List<String> paths = new ArrayList<String>();
String dir = UploadUtil.getFolder();
for(MultipartFile myfile : upload_logo){ 
if(myfile.isEmpty()){ 
log.info("文件未上傳"); 
}else{ 
log.info("文件長度: " + myfile.getSize()); 
log.info("文件類型: " + myfile.getContentType()); 
log.info("文件名稱: " + myfile.getName()); 
log.info("文件原名: " + myfile.getOriginalFilename()); 
log.info("========================================");
//上傳文件 返回路徑
String path = UploadUtil.writeFile(myfile.getOriginalFilename(), dir, myfile.getInputStream());
log.info("文件路徑:"+path);
paths.add(path);
} 
} 
pic.setPaths(paths);
return pic;
}

uploadUtil

private static final Logger log = LoggerFactory.getLogger(UploadUtil.class);
private UploadUtil() {
}
private static SimpleDateFormat fullSdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
private static SimpleDateFormat folder = new SimpleDateFormat(
"yyyy" + File.separator + "MM" + File.separator + "dd");
/**
* 返回yyyy File.separator MM File.separator dd格式的字符串
* 
* @return
*/
public static String getFolder() {
return folder.format(new Date());
}
/**
* 文件上傳
* 
* @param srcName
* 原文件名
* @param dirName
* 目錄名
* @param input
* 要保存的輸入流
* @return 返回要保存到數(shù)據(jù)庫中的路徑
*/
public static String writeFile(String srcName, String dirName, InputStream input) throws IOException {
log.info(srcName);
// 取出上傳的目錄,此目錄是tomcat的server.xml中配置的虛擬目錄
String uploadDir = ContextUtil.getSysProp("upload_dir");//設(shè)置你上傳路徑
// 取出虛擬目錄的訪問路徑
String virtualDir = ContextUtil.getSysProp("virtual_dir");//設(shè)置你虛擬目錄訪問路徑
// 重命名文件
if (null != srcName) {
srcName = srcName.substring(srcName.indexOf("."));
} else {
srcName = ".jpg";
}
String filename = "";
// 得到要上傳的文件路徑
filename = uploadDir + File.separator + dirName + File.separator + fullSdf.format(new Date()) + srcName;
// 得到將要保存到數(shù)據(jù)中的路徑
String savePath = filename.replace(uploadDir, "");
savePath = virtualDir + savePath.replace("\\", "/");
File file = new File(filename);
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
FileOutputStream fos = new FileOutputStream(file);
// 一次30kb
byte[] readBuff = new byte[1024 * 30];
int count = -1;
while ((count = input.read(readBuff, 0, readBuff.length)) != -1) {
fos.write(readBuff, 0, count);
}
fos.flush();
fos.close();
input.close();
return savePath;
}

4.解決上傳時(shí)候遇到的一些問題

如遇見點(diǎn)擊上傳之后,進(jìn)度條顯示為100%,jsp頁面顯示[Object,obejct],那么注意你后臺(tái)返回的是否為json對(duì)象。

以上所述是小編給大家介紹的Bootstrap的fileinput插件實(shí)現(xiàn)多文件上傳的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • js canvas實(shí)現(xiàn)擦除效果示例代碼

    js canvas實(shí)現(xiàn)擦除效果示例代碼

    擦除效果在我們?nèi)粘i_發(fā)中也是時(shí)有見到的,通過擦除效果大大加強(qiáng)了與用戶的交互性,所以下面這篇文章主要給大家介紹了利用js和canvas實(shí)現(xiàn)擦除效果的相關(guān)資料,文中給出了詳細(xì)的介紹和示例代碼,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • 淺談JavaScript中this的指向問題

    淺談JavaScript中this的指向問題

    這篇文章主要介紹了淺談JavaScript中this的指向問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 通過js動(dòng)態(tài)操作table(新增,刪除相關(guān)列信息)

    通過js動(dòng)態(tài)操作table(新增,刪除相關(guān)列信息)

    通過js動(dòng)態(tài)操作table(新增,刪除相關(guān)列信息)的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2012-05-05
  • javascript實(shí)現(xiàn)列表切換效果

    javascript實(shí)現(xiàn)列表切換效果

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)列表切換效果的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • js中“??“和“?.“用法小結(jié)

    js中“??“和“?.“用法小結(jié)

    這篇文章主要介紹了js中“??“和“?.“用法小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • js實(shí)現(xiàn)選中復(fù)選框文字變色的方法

    js實(shí)現(xiàn)選中復(fù)選框文字變色的方法

    這篇文章主要介紹了js實(shí)現(xiàn)選中復(fù)選框文字變色的方法,涉及javascript鼠標(biāo)事件及頁面元素的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • 原生JS實(shí)現(xiàn)頂部導(dǎo)航欄顯示按鈕+搜索框功能

    原生JS實(shí)現(xiàn)頂部導(dǎo)航欄顯示按鈕+搜索框功能

    這篇文章主要介紹了原生js實(shí)現(xiàn)頂部導(dǎo)航欄顯示按鈕+搜索框功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Javascript緩存API

    Javascript緩存API

    JavaScript ServiceWorker API的好處就是讓W(xué)EB開發(fā)人員輕松的控制緩存。這篇文章主要為大家詳細(xì)介紹了Javascript緩存API,感興趣的小伙伴們可以參考一下
    2016-06-06
  • js實(shí)現(xiàn)類似新浪微博首頁內(nèi)容漸顯效果的方法

    js實(shí)現(xiàn)類似新浪微博首頁內(nèi)容漸顯效果的方法

    這篇文章主要介紹了js實(shí)現(xiàn)類似新浪微博首頁內(nèi)容漸顯效果的方法,實(shí)例分析了漸顯效果的實(shí)現(xiàn)要點(diǎn)與方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • javascript實(shí)現(xiàn)驗(yàn)證IP地址等相關(guān)信息代碼

    javascript實(shí)現(xiàn)驗(yàn)證IP地址等相關(guān)信息代碼

    本文給大家分享的是一組判斷IP地址是否合法,判斷子網(wǎng)掩碼是否合法,驗(yàn)證輸入的網(wǎng)關(guān)地址是否合法的javascript代碼,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。
    2015-05-05

最新評(píng)論

堆龙德庆县| 镇赉县| 竹北市| 正定县| 宕昌县| 盐城市| 天峨县| 板桥市| 大化| 海盐县| 云浮市| 巴南区| 马关县| 北票市| 定襄县| 奉化市| 鄢陵县| 铜陵市| 商城县| 仁化县| 广昌县| 茌平县| 台山市| 将乐县| 济宁市| 肥东县| 东阳市| 青浦区| 清原| 维西| 洪江市| 建宁县| 禄劝| 阳朔县| 浠水县| 玉山县| 盱眙县| 尖扎县| 南城县| 宁都县| 葵青区|