使用java、formData实现文件上传

最近的一个项目需要进行报表文件上传,经过查找资料,实现了这个功能,前端使用了表单的formData对象,后台使用的是Java,支持多文件上传。

formData对象介绍详见 :https://developer.mozilla.org/zh-CN/docs/Web/API/FormData

具体实现:

1、html:

<form id="upform">  
	<input type="file" name="uploadFile" id="uploadFile" accept=".rpx,.sht" multiple/>
</form>
<button type="submit" class="btn btn-primary" id="upload_ok">上传</button>

2、js:

$("#upload_ok").unbind().click(function(){
    var form = new FormData(document.getElementById("upform"));  
	$.ajax({
		url : "${contextPath}/sys/dash/uploadDash", 
		type : 'POST',
		data:form,
		async: false,  
		cache: false, 
		processData:false,
		contentType:false,
		success:function(res){ 
				 var result=eval('('+res+')');
				 if(result.uploadFlag){
						alert("上传成功 !!"); 
                 }	    
		},
		error:function(e){
				 alert("上传失败 !!"); 
		}
	});  
    		 
})

3、java处理:

//上传报表
@RequestMapping(value = {"/uploadDash"})
public void uploadDash(HttpServletRequest request, HttpServletResponse response, 
    @RequestParam(value = "uploadFile", required = false)  MultipartFile[]  uploadFiles) throws IOException { 
	Map<String,Object> resultMap=new HashMap <String, Object>();  
  	for(int i=0;i<uploadFiles.length;i++) {//支持上传多文件,所以使用循环
		String fileName = uploadFiles[i].getOriginalFilename ();//获取文件上传的名称 
		try{ 
		    String uploadPath=request.getRealPath("/WEB-INF/reportFiles/")+uploadFilePath;//上传至服务器目录
		    File files=new File(uploadPath,fileName);
		    if(!files.exists ()){
		         files.mkdirs ();
		    }
		    uploadFiles[i].transferTo (files); 
		 }catch (Exception e){
		         resultMap.put("uploadFlag",false); 
		 } 
  	 } 
        resultMap.put("uploadFlag",true);
        String json=JSONObject.fromObject (resultMap).toString ();
        writeJSON(response,json); 
}   

大致代码就是这些了,仅供参考~

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要修改 XML 文件中某个属性的值,可以使用 Java 的 DOM 解析器来解析 XML 文件。以下是一个简单的示例代码: ```java import java.io.File; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.Element; public class ModifyXML { public static void main(String[] args) { try { // 打开 XML 文件 File xmlFile = new File("example.xml"); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(xmlFile); // 找到要修改的元素 Element element = (Element) doc.getElementsByTagName("book").item(0); // 修改属性的值 element.setAttribute("price", "10.99"); // 保存修改后的 XML 文件 TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(xmlFile); transformer.transform(source, result); System.out.println("XML 文件修改成功!"); } catch (Exception e) { e.printStackTrace(); } } } ``` 在这个示例中,我们打开一个名为 "example.xml" 的 XML 文件,并找到第一个名为 "book" 的元素。然后,我们使用 `setAttribute()` 方法来修改该元素的 "price" 属性的值。最后,我们使用 `Transformer` 类将修改后的 `Document` 对象写回到原始的 XML 文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值