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

java使用ajax完成上傳文件

 更新時(shí)間:2022年06月23日 14:09:06   作者:MR_非凡  
這篇文章主要為大家詳細(xì)介紹了java使用ajax完成上傳文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java使用ajax完成上傳文件的具體代碼,供大家參考,具體內(nèi)容如下

使用ajax上傳文件最重要的就是實(shí)例化FormData來進(jìn)行上傳文件:

1、html代碼:

<div class="kuang">
?? ?<p>文件上傳</p>
?? ?<div class="san3">
?? ??? ?<input type="file" name="fujianID" id="fujianID" onchange="UpdateFile()"/>
?? ??? ?<input type = "hidden" name="fujianid" id="file2" />
?? ?</div>
</div>

2、ajax請求代碼:

<script type="text/javascript">

//上傳文件
function UpdateFile(){
?? ?var file_fujian = $("input[name='fujianID']").val();//用戶文件內(nèi)容(文件)
?? ?// 判斷文件是否為空?
?? ?if ( file_fujian== "") {
?? ??? ?layer.msg("青選擇上傳的附件",{icon:1,time:1000});
?? ??? ?return false;
?? ?}
?? ?//判斷文件類型,根據(jù)自己需要來做判斷
?? ?/*var fujianID = ?file_fujian.substring( file_fujian.lastIndexOf(".") + 1).toLowerCase();
?? ?if(fujianID != "xls" && fujianID !="xlsx"&&fujianID !="docx"&&fujianID !="doc"&&fujianID !="txt"){
? ? ? ?? ?layer.msg("請選擇Execl文或者word文件或者txt文件格式!",{icon:1,time:2000});
?? ??? ?return false;
?? ?}*/
?? ?//判斷文件大小
?? ?var size1 = $("input[name='fujianID']")[0].files[0].size;
?? ?if (size1>104857600) {
?? ??? ?layer.msg("上傳的附件不能大于100M",{icon:1,time:2000});
?? ??? ?return false;?? ??? ??? ??? ?
?? ?}
?? ?
?? ?boo1 = true;
?? ?var type = "file";
?? ?var formData = new FormData();//這里需要實(shí)例化一個FormData來進(jìn)行文件上傳
?? ?formData.append(type,$("#fujianID")[0].files[0]);
?? ?$.ajax({
? ? ? ? type:'POST',
? ? ? ? url:'<%=request.getContextPath()%>/login/fujian_file',
?? ??? ?data:formData,
?? ??? ?async:false,
?? ??? ?processData:false,
?? ??? ?contentType:false,
?? ??? ?success:function(data){
?? ??? ??? ?if (data=="error") {
?? ??? ??? ??? ?layer.msg("附件添加失敗",{icon:1,time:2000});
?? ??? ??? ?}else{
?? ??? ??? ??? ?$("#file2").val(data.list);
?? ??? ??? ??? ?layer.msg("附件已添加",{icon:1,time:2000});
?? ??? ??? ?}
?? ??? ?}
?? ?});
}

3、Java后臺數(shù)據(jù)處理代碼:

?/**
?? ? * 上傳文件
?? ? * @param file
?? ? * @param model
?? ? * @param request
?? ? * @return
?? ? */
?? ?@RequestMapping(value="/fujian_file")
? ? @ResponseBody
? ? public Map<String, Object> uploadToUser(@RequestParam("file") MultipartFile file, Model model,HttpServletRequest request) {
?? ??? ?
?? ??? ?String fileName = file.getOriginalFilename();
?? ??? ?if (fileName.indexOf("\\") != -1) {
?? ??? ? ? ?fileName = fileName.substring(fileName.lastIndexOf("\\"));
?? ??? ?}
?? ??? ?
?? ??? ?//String filePath = request.getContextPath()+ File.separator+"WebRoot"+ File.separator+"updatefile"+ File.separator;
?? ??? ?// 獲取項(xiàng)目名稱,文件上傳位置
?? ??? ?String filePath = ?request.getSession().getServletContext().getRealPath("/static/updatefile/files");
?? ??? ?File f = new File(filePath);
?? ??? ?if (!f.exists()) {
?? ??? ? ? ?f.mkdirs();// 不存在路徑則進(jìn)行創(chuàng)建
?? ??? ?}
?? ??? ?FileOutputStream out = null;
?? ??? ?try {
?? ??? ? ? ?// 重新自定義文件的名稱
?? ??? ? ? ?Date date = new Date();
?? ??? ? ? ?SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
?? ??? ? ? ?String d = sdf.format(date);// 時(shí)間
?? ??? ? ? ?//拼接文件路徑和文件名
?? ??? ? ? ?filePath = filePath +File.separator+ d + fileName;
?? ??? ? ? ?out = new FileOutputStream(filePath);
?? ??? ? ? ?out.write(file.getBytes());
?? ??? ? ? ?out.flush();//清空緩沖區(qū)的數(shù)據(jù)流
?? ??? ? ? ?out.close();//關(guān)閉流
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?//System.out.println(e); //打印拋出的異常
?? ??? ??? ?}
?? ??? ?Map<String,Object> map = new HashMap<String,Object>();
?? ??? ?map.put("list",filePath );
?? ??? ?return map; // 返回文件地址
?? ?}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • idea的easyCode的 MybatisPlus模板的配置詳解

    idea的easyCode的 MybatisPlus模板的配置詳解

    這篇文章主要介紹了idea的easyCode的 MybatisPlus模板的配置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Spring解密之XML解析與Bean注冊示例詳解

    Spring解密之XML解析與Bean注冊示例詳解

    這篇文章主要給大家介紹了關(guān)于Spring解密之XML解析與Bean注冊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • springBoot 與neo4j的簡單整合示例

    springBoot 與neo4j的簡單整合示例

    這篇文章主要介紹了springBoot 與neo4j的簡單整合示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • 詳解springboot中各個版本的redis配置問題

    詳解springboot中各個版本的redis配置問題

    這篇文章主要介紹了詳解springboot中各個版本的redis配置問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • springboot實(shí)現(xiàn)攔截器之驗(yàn)證登錄示例

    springboot實(shí)現(xiàn)攔截器之驗(yàn)證登錄示例

    本篇文章主要介紹了springboot實(shí)現(xiàn)攔截器之驗(yàn)證登錄示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 基于java實(shí)現(xiàn)具有時(shí)效性文件鏈接

    基于java實(shí)現(xiàn)具有時(shí)效性文件鏈接

    這篇文章主要為大家詳細(xì)介紹了如何基于java實(shí)現(xiàn)具有時(shí)效性的文件鏈接,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下
    2023-12-12
  • java?集合工具類Collections及Comparable和Comparator排序詳解

    java?集合工具類Collections及Comparable和Comparator排序詳解

    這篇文章主要介紹了java集合工具類Collections及Comparable和Comparator排序詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • 去掉IntelliJ IDEA 中 mybatis 對應(yīng)的 xml 文件警告的教程圖解

    去掉IntelliJ IDEA 中 mybatis 對應(yīng)的 xml 文件警告的教程圖解

    本文通過圖文并茂的形式給大家介紹了去掉IntelliJ IDEA 中 mybatis 對應(yīng)的 xml 文件警告的教程,需要的朋友可以參考下
    2018-06-06
  • 使用nacos命名空間namespace用法,測試時(shí)做實(shí)例隔離

    使用nacos命名空間namespace用法,測試時(shí)做實(shí)例隔離

    Nacos命名空間用于管理多套不同環(huán)境的服務(wù)器,增加一個命名空間的概念,可以用一套Nacos注冊中心管理多套不同的環(huán)境
    2024-12-12
  • java實(shí)現(xiàn)多人聊天工具(socket+多線程)

    java實(shí)現(xiàn)多人聊天工具(socket+多線程)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)多人聊天工具,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論

礼泉县| 信宜市| 峨边| 新干县| 巨野县| 五大连池市| 宁武县| 华亭县| 潜山县| 台北县| 武威市| 得荣县| 彝良县| 巴青县| 哈巴河县| 金山区| 郧西县| 长沙市| 丽江市| 什邡市| 班玛县| 广河县| 伊吾县| 竹溪县| 平遥县| 海原县| 赣州市| 东阿县| 定襄县| 从江县| 万州区| 罗源县| 吴江市| 宜君县| 淮南市| 丹东市| 平山县| 黑山县| 当阳市| 衡南县| 凭祥市|