文件路径最好使用正斜杠,使用反斜杠可能在unix系统中访问不到文件
生活随笔
收集整理的這篇文章主要介紹了
文件路径最好使用正斜杠,使用反斜杠可能在unix系统中访问不到文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<%@ page language="java" contentType="text/html; charset=GBK"pageEncoding="GBK"%>
<%@ page import="java.util.*" %>
<%-- Java 自帶的文件操作包 --%>
<%@ page import="java.io.*" %>
<%-- FileUpload組件用到的文件上傳類 --%>
<%@ page import="org.apache.commons.fileupload.*"%>
<%@ page import="org.apache.commons.fileupload.disk.*"%>
<%@ page import="org.apache.commons.fileupload.servlet.*"%><%//取得整個web應用的物理根路徑(注意不是jsp項目根路徑)String root = request.getSession().getServletContext().getRealPath("/");//設置上傳文件的保存路徑(絕對路徑/物理路徑)String savePath = root + "image/";//創建一個基于磁盤文件項目的工廠DiskFileItemFactory factory = new DiskFileItemFactory();//創建文件上傳對象 ServletFileUpload upload = new ServletFileUpload(factory);//解析request請求并返回FileItem對象集合List items = upload.parseRequest(request);//遍歷集合Iterator iter = items.iterator();//如果集合中有值while (iter.hasNext()) {//取出FileItem對象FileItem item = (FileItem) iter.next();//判斷是否是文本域(type='file')控件if (item.isFormField()) {//普通控件的時候,取得空間的值String name = item.getString("GBK");//輸出out.print("文本框取到的值: " + name + "<br/>");} else {//文本域控件的時候,取得文件的名字String fileName = item.getName();//創建一個java文件對象,參數是要存放的路徑File savedFile = new File(savePath + fileName);//保存上傳的文件 item.write(savedFile);//輸出out.print("上傳成功!");out.print("上傳的文件: <img src=\"../image/" + fileName + "\"/><br/>");out.print("文件存儲的位置: " + savePath + "<br/>");out.print("<a href='../index.jsp'>返回首頁</a>");}}
%>
第16行,之前開發中,使用了反斜杠。"\"通過轉義拼接的文件路徑。在window系統測試沒發現問題。發布到unix系統卻總是下載不了模板文件。可能是斜杠問題導致文件路徑解析出問題了。最后統一使用正斜杠。
總結
以上是生活随笔為你收集整理的文件路径最好使用正斜杠,使用反斜杠可能在unix系统中访问不到文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 选择按钮 数字排序 找最大值最小值
- 下一篇: 在centos服务器上运行第一个Hell