美文网首页Java web
记录下一个新闻上传的功能

记录下一个新闻上传的功能

作者: haiyong6 | 来源:发表于2019-01-07 12:06 被阅读0次

jsp页面:

<form id="uploadWiasNews" enctype="multipart/form-data" method="post"> 
        中文标题: <input type="text" name="titleNameCn" value='新闻1'/>
        英文标题: <input type="text" name="titleNameEn" value='new1'/>
        选择文件:<input data-role="none" type="file" name="file" width="120px">  
              <button data-role="none" onclick="uploadWiasNews();">上传</button>
    </form>
    <input id="input" type="hidden" value='${ctx}'>

js:

function uploadWiasNews(){
    var form = new FormData(document.getElementById("uploadWiasNews"));
    var localhostPaht=$("#input").val();
     var url = localhostPaht + "/information/uploadWiasNews/uploadWiasNews.do";    //这里的“项目访问路径”要改为你自己的路径
    $.ajax({
        url : url,
        data : form,
        type : 'post',
        processData:false,
        contentType:false,
        success : function(data){
            alert("成功");
        },
        error : function(data){
            
        }
    }); 
    
}

controller:

@RequestMapping("/information/uploadWiasNews/uploadWiasNews.do")
    public void uploadWiasNews(HttpServletRequest request, HttpServletResponse response) {
        String titleCn = request.getParameter("titleNameCn");
        String titleEn = request.getParameter("titleNameEn");
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        List<MultipartFile> fileList = multipartRequest.getFiles("file");   
        String path = request.getSession().getServletContext().getRealPath("/assets/static/news");
        int t = 0;
        int x = 0;
        String notTypeError = "";
        for(int i = 0; i < fileList.size(); i++) {
            MultipartFile file = fileList.get(i);
            String fileName = file.getOriginalFilename();
            if(fileName.indexOf(".htm") > -1 || fileName.indexOf(".html") > -1) {
                Map<String, Object> paramsMap = new HashMap<String, Object>();
                
                paramsMap.put("titleCn", titleCn);
                paramsMap.put("titleEn", titleEn);
                SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
                paramsMap.put("fileName", "news_" + df.format(new Date()) + "." + fileName.split("\\.")[1]);
                paramsMap.put("userName", AppFrameworkUtil.getUserName(request));
                
                File dirFile = new File(path, paramsMap.get("fileName").toString());
                //System.out.println("dir.exists()>>"+dirFile.exists());
                try {
                    if(!dirFile.exists()){
                        dirFile.createNewFile();
                    }
                    //System.out.println("dir.exists()>>"+dirFile.exists());
                    //          MultipartFile自带的解析方法
                    //file.get(i).transferTo(dirFile);
                } catch (IOException e) {
                    e.printStackTrace();
                }
                
                InputStream input = null;
                FileOutputStream output = null;
                try {
                    input = file.getInputStream();
                    output = new FileOutputStream(dirFile);
                    byte[] bt = new byte[1024*1024];
                    int len = 0;
                    while((len = input.read(bt)) != -1) {
                        output.write(bt, 0, len);
                    }
                    input.close();
                    output.flush();
                    output.close();
                    uploadWiasNewsManager.uploadWiasNews(request, paramsMap);
                    t++;
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } else {
                x++;
                notTypeError = x + "条不是htm或html文件,导入失败!";
            }
        }
        Map<String, Object> resultMap = new HashMap<String, Object>();
        resultMap.put("data", t + "条导入成功, " + (fileList.size() - t) + "条导入失败!" + notTypeError);
        
        ChartsUtil.renderJSON(response, AppFrameworkUtil.structureConfigParamsGroupJSONData(resultMap));
    }

相关文章

网友评论

    本文标题:记录下一个新闻上传的功能

    本文链接:https://www.haomeiwen.com/subject/yhrulqtx.html