200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 使用ajax实现文件上传功能

使用ajax实现文件上传功能

时间:2023-11-16 23:49:59

相关推荐

使用ajax实现文件上传功能

转载一篇使用ajax上传文件,觉得还不错,留存一下,方便以后查阅。

html代码:

<input type="file" name="fileName1" id="fileName1"/><input type="button" onclick="sendToUser()" id="sendToUser" value="提交" />

js代码:

function sendToUser(){ //在这里进行ajax 文件上传 用户的信息 var $file1 = $("input[name='fileName1']").val();//用户文件内容(文件)// 判断文件是否为空 if ($file1 == "") {alert("请选择上传的目标文件! ")return false;}//判断文件类型,我这里根据业务需求判断的是Excel文件var fileName1 = $file1.substring($file1.lastIndexOf(".") + 1).toLowerCase();if(fileName1 != "xls" && fileName1 !="xlsx"){alert("请选择Execl文件!");return false;}//判断文件大小var size1 = $("input[name='fileName1']")[0].files[0].size;if (size1>104857600) {alert("上传文件不能大于100M!");return false;}boo1 = true;var type = "file";var formData = new FormData();//这里需要实例化一个FormData来进行文件上传formData.append(type,$("#fileName1")[0].files[0]);$.ajax({type : "post",url : "uploadToFile",data : formData,processData : false,contentType : false,success : function(data){if (data=="error") {alert("文件提交失败!");}else{$("input[name='userUrl']").val(data);alert("文件上传成功!");}}});}

使用springboot项目进行接收上传文件

controller层:

/*** 上传数据文件* * @author : lichenfei* @date : 11月22日* @time : 下午2:46:29* @return @*/@RequestMapping("/uploadToFile")@ResponseBodypublic String uploadToUser(@RequestParam("file") MultipartFile file, HttpServletRequest req, Model model) {String fileName = file.getOriginalFilename();if (fileName.indexOf("\\") != -1) {fileName = fileName.substring(fileName.lastIndexOf("\\"));}// 获取文件存放地址String filePath = dataPath;File f = new File(filePath);if (!f.exists()) {f.mkdirs();// 不存在路径则进行创建}FileOutputStream out = null;try {// 重新自定义文件的名称Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");String d = sdf.format(date);// 时间filePath = filePath + d + fileName;out = new FileOutputStream(filePath);out.write(file.getBytes());out.flush();out.close();} catch (Exception e) {return "error";}return filePath; // 返回文件地址}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。