Ⅰ 在asp.net mvc3 中,在controller中使用HttpPostedFileBase file 參數獲取上傳的文件,文件路徑問題
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcTest1.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "歡迎使用 ASP.NET MVC!";
return View();
}
//上傳文件的控制項name是file1,也就是<input type="file" name="file1" />
//上傳到Upload文件夾(與Controllers文件夾同級)
[HttpPost]
public ActionResult About()
{
HttpFileCollectionBase files= Request.Files;
HttpPostedFileBase file = files["file1"];//獲取上傳的文件
if (file != null && file.ContentLength > 0)
{
string path = Server.MapPath("~/Upload/");//獲取uplaod文件夾路徑
try
{
file.SaveAs(path + file.FileName);//保存文件
}
catch (Exception e)
{
throw e;
}
}
else
{
//文件為空的處理
}
return View();
}
}
}
這是我的代碼,我試了,可以上傳成功的,當然不能大於4M,因為web.config我沒配置。
我不知道你那是什麼樣的問題,但是像我這樣是沒有問題的。
Ⅱ springmvc文件上傳路徑設置
springmvc文件上傳路徑設置:
1、導入文件上傳的坐標。
2、在spring-mvc.xml配置文件中配置文件解析器對象,property可以配置上傳文件的大小等屬性。注意:id一定要是multipartResolver。
3、前端頁面的form表單,method是post方法,加上enctype="multipart/form-data"這個屬性。
4、後端方法的參數類型為MultipartFile,參數名要與前端文件域的name一樣。
5、最後用file參數的getOriginalFilename()方法獲取上傳的文件名,然後再用transferTo(參數1,參數2)方法將文件上傳到指定路徑。註:transferTo(參數1,參數2)的參數1為指定將文件上傳的路徑,參數2為文件名。
Ⅲ Spring mvc框架 MutipartFile+flex上傳文件,後得怎麼得不到文件信息
SpringMVC裡面有個專門處理文件上傳的請求參數(好像叫MultilePart什麼),但是到達upload函數時,Spring自身已經吧臨時文件儲存到本地了,所以文件比較大就悲劇了,需要拷貝一次。 文件較大時,建議直接用Servlet處理,可以參考Stream 上傳插件.
Ⅳ java接收ajax傳遞過來的圖片參數圖片參數
SpringMVC上傳首先需要在配置文件中配置文件解析器
<beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<propertyname="defaultEncoding"value="UTF-8"/>
<!--指定所上傳文件的總大小不能超過200KB。注意maxUploadSize屬性的限制不是針對單個文件,而是所有文件的容量之和-->
<propertyname="maxUploadSize"value="200000"/>
</bean>
提交的form表單中需要包含enctype="multipart/form-data"
加上enctype後,Spring MVC的前端控制器會判斷是否是文件上傳, 自動轉換的
後台使用MultipartFile對象即可接收
可以直接form表單提交或者非同步上傳文件
Ⅳ 關於使用Springmvc的MultipartHttpServletRequest來獲得表單上傳文件的問題,萬分感謝~
try {
//下面這句必須加,不然報錯
MultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext());
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
//獲取一起跟文件傳過來的其他參數值
String id = multipartRequest.getParameter("id");
//獲取上傳上來的文件
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entry : fileMap.entrySet()){
MultipartFile file = entry.getValue();
String fileName = file.getOriginalFilename();
System.out.println(fileName);
String path = "C:\\Users\\Administrator\\Desktop" + File.separator + fileName;
file.transferTo(new File(path));
}
} catch (Exception e) {
e.printStackTrace();
}