1、打开函数 增加 input 框 类型为file 代码如下
function uf_onload() {
panel1.setHTML('<input id="inputfile1" type="file" size="50"><br>');
}
页面效果如下
2、测试函数 (button 按钮绑定该函数)
//读取本地 文件 测试
function uf_test_getfile(){
var url = "http://127.0.0.1:5800/upload_file";//后端java程序地址
var input_file = document.getElementById('inputfile1').files[0]; //inputfile 控件中获取到文件内容
var file = new FormData();
file.enctype = "multipart/form-data";//对于file所选中的文件内容,需要设置:enctype属性
file.append("file",input_file); //添加文件
var result=pf_httpPost2(url,file,false);
alert(Utility.toJSONString(result));
}
3、AJAX发起请求函数 (里面写了兼容低版本ie浏览器)
function pf_httpPost2(url, params){
if (window.XMLHttpRequest)
{
var objXMLHTTP = new XMLHttpRequest();
}
else
{
var MSXML = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP');
for(var n = 0; n < MSXML.length; n ++) {
try {
var objXMLHTTP = new ActiveXObject(MSXML[n]);
break;
} catch(e) {
}
}
}
objXMLHTTP.open("POST", url, false);
objXMLHTTP.send(params);
return objXMLHTTP.responseText;
}
4、后端java 代码 (代码使用了spring boot 框架)
文件大小默认限制不能超过10m;
配置文件 application.properties 增加下面两行代码 可增加大小限制 ;
spring.servlet.multipart.maxFileSize=100MB
spring.servlet.multipart.maxRequestSize=100MB
package com.example.kmsk.control;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
@Controller
@RestController
@CrossOrigin //跨域访问
public class control2 {
@RequestMapping("/upload_file")
@ResponseBody
public String UploadFile(@RequestParam("file") MultipartFile file) throws IOException {
String fileName = file.getOriginalFilename();
int lastIndex = fileName.lastIndexOf("\\");
if (lastIndex != -1) {
fileName = fileName.substring(lastIndex + 1);
System.out.println(fileName);
} else {
System.out.println("文件路径错误");
}
String filePath = "D:\\zylog\\"+fileName;
FileOutputStream outputStream = new FileOutputStream(new File(filePath));
outputStream.write(file.getBytes());
outputStream.close();
return "上传成功";
}
}