aspnetmvc文件上传
Ⅰ asp.net mvc2.0 上传多个文件问题
for (fileCount = 0; fileCount < files.Count; fileCount++)
{
//定义访问客户端上传文件的对象
System.Web.HttpPostedFile postedFile = files[fileCount];
string FileType = postedFile.ContentType.ToString();//获取要上传的文件类型,验证文件头
string fileName, fileExtension;
//取得上传得文件名
fileName = System.IO.Path.GetFileName(postedFile.FileName);
//取得文件的扩展名
fileExtension = System.IO.Path.GetExtension(fileName);
//在上传文件不为空的情况下,验证文件名以及大小是否符合,如果不符合则不允许上传
if (((FileType == "text/plain" && fileExtension.ToLower() == ".txt") || (FileType == "application/x-zip-compressed" && fileExtension.ToLower() == ".zip") || (FileType == "application/octet-stream" && fileExtension.ToLower() == ".rar"))&&postedFile.ContentLength/1024<=1024)
{//在这里通过检查文件头与文件名是否匹配 从而限制了文件上传类型 注:可上传的类型有TXT,ZIP,RAR,且大小只能为1M一下
if (fileName != String.Empty)
{
fileName = RandomFileName() + fileExtension;
//上传的文件信息
strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>");
strMsg.Append("上传文件的文件名:" + fileName + "<br>");
strMsg.Append("上传文件的大小为:" + postedFile.ContentLength + "字节<br>");
strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr color=red>");
//保存到指定的文件夹
postedFile.SaveAs(Server.MapPath("public_file/" + UserName + "/") + fileName);
fileName = "";
}
}
比如这段代码来说,它不是通过for遍历了,然后不就可以得到你需要的文件了,你可以在里面在进行判断一下,不就OK了。!~~~~~
Ⅱ .net mvc限制了上传文件的大小,httpRuntime节点加在哪里
<configuration>
<system.web>
<httpRuntime maxRequestLength="4000"
enable = "True"
requestLengthDiskThreshold="512
useFullyQualifiedRedirectUrl="True"
executionTimeout="45"
versionHeader="1.1.4128"/>
</system.web>
</configuration>
Ⅲ mvc视图中怎么上传图片并显示
如果只是上传的话那太容易了,如果还要显示那就难了,因为要显示的话就不能只向服务器提交一次请求,必须异步提交。下面的例子是我亲自写的,异步提交上传图片并预览。全部代码都在。
返回到前台页面的JSON格式对象是以类的对象。
publicclassReturnImage
{
publicstringbig{get;set;}
publicstringsmall{get;set;}
publicstringisSuccessfull{get;set;}
publicstringmessage{get;set;}
}
对于上传和生成缩略图,请自行完成,以下是ASP.NETMVC的例子。
publicclassHomeController:Controller
{
//
//GET:/Home/
publicActionResultIndex()
{
returnView();
}
///<summary>
///上传图片
///</summary>
///<returns></returns>
publicActionResultUploadImage()
{
//定义错误消息
JsonResultmsg=newJsonResult();
try
{
//接受上传文件
HttpPostedFileBasepostFile=Request.Files["upImage"];
if(postFile!=null)
{
DateTimetime=DateTime.Now;
//获取上传目录转换为物理路径
stringuploadPath=Server.MapPath("~/UploadFiles/"+time.Year+"/"+time.ToString("yyyyMMdd")+"/");
//文件名
stringfileName=time.ToString("yyyyMMddHHmmssfff");
//后缀名称
stringfiletrype=System.IO.Path.GetExtension(postFile.FileName);
//获取文件大小
longcontentLength=postFile.ContentLength;
//文件不能大于2M
if(contentLength<=1024*2048)
{
//如果不存在path目录
if(!Directory.Exists(uploadPath))
{
//那么就创建它
Directory.CreateDirectory(uploadPath);
}
//保存文件的物理路径
stringsaveFile=uploadPath+fileName+"_big"+filetrype;
try
{
//保存文件
postFile.SaveAs(saveFile);
//保存缩略图的物理路径
stringsmall=uploadPath+fileName+"_small"+filetrype;
MakeThumbnail(saveFile,small,320,240,"W");
ReturnImageimage=newReturnImage();
image.big="/UploadFiles/"+time.Year+"/"+time.ToString("yyyyMMdd")+"/"+fileName+"_big"+filetrype;
image.small="/UploadFiles/"+time.Year+"/"+time.ToString("yyyyMMdd")+"/"+fileName+"_small"+filetrype;
msg=Json(image);
}
catch
{
msg=Json("上传失败");
}
}
else
{
msg=Json("文件大小超过限制要求");
}
}
else
{
msg=Json("请选择文件");
}
}
catch(Exceptione)
{
;
}
msg.ContentType="text/html";
returnmsg;
}
///<summary>
由于回答超过最大限制,///生成缩略图的代码请向我索取
Ⅳ Asp.Net MVC3 上传文件问题
可以考虑一下以下代码:首先创建:一 创建表单
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })){ <input type="file" name="file" /> <input type="submit" value="OK" />}
二 创建controlle
public class HomeController : Controller{ // This action renders the form public ActionResult Index() { return View(); } // This action handles the form POST and the upload [HttpPost] public ActionResult Index(HttpPostedFileBase file) { // Verify that the user selected a file if (file != null && file.ContentLength > 0) { // extract only the fielname var fileName = Path.GetFileName(file.FileName); // store the file inside ~/App_Data/uploads folder var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName); file.SaveAs(path); } // redirect back to the index action to show the form once again return RedirectToAction("Index"); }}
Ⅳ ASP.NET MVC3上传到空间商的服务器上(IIS7,已开通ASP.NET )后出现403错误是怎么回事
不确定,供参考一下,
看一下服务器提供商IIS 7上所安装的模块(Mole),看有没有少了UrlAuthorization(尤其是这个)、UrlMappingsMole、UrlRoutingMole这些“托管模块”,还有可能缺少的“本机模块”是什么我忘了。。
再不行的话就让服务器提供商把他IIS 7上所安装的模块(本机的跟托管的)名字复制一份给你,然后把这些模块名字跟你自己机子上的IIS 7所安装模块名字对比一下,看看服务器提供商的IIS 7有没有少了哪个(些)模块。。
如果少了的话,当然让他加上。。只是我也不能确定加上了就起作用。。
如果不明白的话,请补充问题,希望我能帮到你。
如果这对你有帮助话,请将此标为最佳答案,谢谢。
Ⅵ .NET MVC 上传文件时怎么修改上传的文件名
文件到服务端后你自己写入磁盘,文件名当然是你定了。
Ⅶ 在asp.net mvc3 中,在controller中使用HttpPostedFileBase file 参数获取上传的文件,文件路径问题
重新说明一下,之前我测试用的是谷歌浏览器不是IE。在IE中file.FileName包含路径名的,而谷歌不包含。所以我之前的回答中才会说文件名中不包含路径名,我想你问题就是这个引起的。你可以在保存前加个判断:
string fileName = file.FileName;
if (fileName.LastIndexOf("\\") > -1)
{
fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1);
}
这样就Ok了,同时兼容谷歌和IE
Ⅷ asp.net mvc中如何读取上传的doc文件中的数据(含有中文字符)
using Aspose.Words;要引用这个dll
#region 获取正文内容
Byte[] wordbytes = GetReadWord();//获取文件二进制
var strFileName = Server.MapPath("~/temp/a.doc");
var strhtmlFileName = Server.MapPath("~/temp/b.htm");
var file = File.OpenWrite(strFileName);
file.Write(wordbytes, 0, wordbytes.Length);
file.Close();
file.Dispose();
Aspose.Words.Document d = new Aspose.Words.Document(strFileName);
d.Save(strhtmlFileName, SaveFormat.Html);
var htmlCode = File.ReadAllText(strhtmlFileName, Encoding.GetEncoding("GB2312"));
File.Delete(strFileName);
File.Delete(strhtmlFileName);
#endregion
htmlCode 字段就是获取的内容字符串
Ⅸ 我使用.NET MVC无法上传文件至服务器
1.表单的 enctype 需要设置为 multipart/form-data
2.文件域的控件需要有name属性。
Ⅹ springmvc怎么实现多文件上传
多文件上传其实很简单,和上传其他相同的参数如checkbox一样,表单中使用相同的名称,然后action中将MultipartFile参数类定义为数组就可以。
接下来实现:
1、创建一个上传多文件的表单:
在CODE上查看代码片派生到我的代码片
<body>
<h2>上传多个文件 实例</h2>
<form action="filesUpload.html" method="post"
enctype="multipart/form-data">
<p>
选择文件:<input type="file" name="files">
<p>
选择文件:<input type="file" name="files">
<p>
选择文件:<input type="file" name="files">
<p>
<input type="submit" value="提交">
</form>
</body>
2、编写处理表单的action,将原来保存文件的方法单独写一个方法出来方便共用:
[java] view plain
print?在CODE上查看代码片派生到我的代码片
/***
* 保存文件
* @param file
* @return
*/
private boolean saveFile(MultipartFile file) {
// 判断文件是否为空
if (!file.isEmpty()) {
try {
// 文件保存路径
String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"
+ file.getOriginalFilename();
// 转存文件
file.transferTo(new File(filePath));
return true;
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
3、编写action:
@RequestMapping("filesUpload")
public String filesUpload(@RequestParam("files") MultipartFile[] files) {
//判断file数组不能为空并且长度大于0
if(files!=null&&files.length>0){
//循环获取file数组中得文件
for(int i = 0;i<files.length;i++){
MultipartFile file = files[i];
//保存文件
saveFile(file);
}
}
// 重定向
return "redirect:/list.html";
}