上传1(引用了js文件)(优先)
<script src="~/Content/scripts/jquery/ajaxfileupload.js?v=@Guid.NewGuid()"></script>
<input id="uploadFile" type="file" name="uploadFile" />
前台js
1.先获取到上传文件对象。 eg: var file=document.getElementById('uploadFile').files[0];
2.获取到上传的文件名。 eg:file.name
3.运用ajax调用后台的方法
$.ajaxFileUpload({
url: "/BaseManage/WorkSummary/UploadFaceFile",
secureuri: false,
fileElementId: 'uploadFile',
dataType: 'html/text',
success: function (data) {
}
});
后台
1.获取HttpFileCollection对象。 eg:HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
2.判断是否有文件上传,如果没有就直接返回
if (files[0].ContentLength == 0 || string.IsNullOrEmpty(files[0].FileName))
{
return HttpNotFound();
}
3.获取相关信息
3.1 获取到后缀名。eg:string FileEextension = Path.GetExtension(files[0].FileName);
3.2 获取到文件的名字。eg:string FileName = Guid.NewGuid().ToString();
3.3 修改文件的路径。eg: string virtualPath =string.Format("/Resource/FilePic/{0}/{1}{2}", DateTime.Now.ToString("yyyyMMdd"), FileName, FileEextension);
3.4 将文件名保存到物理路径上。 eg:string fullFileName = Server.MapPath("~" + virtualPath);
4.创建文件夹,保存文件
4.1 获取到指定路径字符串的目录信息。eg:string path = Path.GetDirectoryName(fullFileName);
4.2 在指定的路径中创建目录与子目录。eg: Directory.CreateDirectory(path);
4.3 将文件保存在本地路径下。eg:files[0].SaveAs(fullFileName);将文件保存到程序的路径下。
5.返回数据(文件路径)。eg:return Content(virtualPath);
上传2
<input id="uploadFile" type="file" name="uploadFile" />
1.先获取到上传文件对象。 eg: var file=document.getElementById('uploadFile').files[0];
2.文件名。eg:Fileupload="(可选)加路径"+file.name;
3.初始化一个FormData对象。var formData=new FormData();
4.将文件塞入到FormData中。formData.append("file",fileData);
(其中fileData var fileData=file 将file赋给fileData)
5.运用ajax调用后台的方法
$.ajaxFileUpload({
url: "/WorkSummary/Files",
type:"POST",
async:false,
data: formData,
processData:false,//告诉jQuery不要去处理发送的数据
contentType:false,//告诉jQuery不要去设置Content-Type请求头
success: function (data) {
}
});
<script src="~/Content/scripts/jquery/ajaxfileupload.js?v=@Guid.NewGuid()"></script>
<input id="uploadFile" type="file" name="uploadFile" />
前台js
1.先获取到上传文件对象。 eg: var file=document.getElementById('uploadFile').files[0];
2.获取到上传的文件名。 eg:file.name
3.运用ajax调用后台的方法
$.ajaxFileUpload({
url: "/BaseManage/WorkSummary/UploadFaceFile",
secureuri: false,
fileElementId: 'uploadFile',
dataType: 'html/text',
success: function (data) {
}
});
后台
1.获取HttpFileCollection对象。 eg:HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
2.判断是否有文件上传,如果没有就直接返回
if (files[0].ContentLength == 0 || string.IsNullOrEmpty(files[0].FileName))
{
return HttpNotFound();
}
3.获取相关信息
3.1 获取到后缀名。eg:string FileEextension = Path.GetExtension(files[0].FileName);
3.2 获取到文件的名字。eg:string FileName = Guid.NewGuid().ToString();
3.3 修改文件的路径。eg: string virtualPath =string.Format("/Resource/FilePic/{0}/{1}{2}", DateTime.Now.ToString("yyyyMMdd"), FileName, FileEextension);
3.4 将文件名保存到物理路径上。 eg:string fullFileName = Server.MapPath("~" + virtualPath);
4.创建文件夹,保存文件
4.1 获取到指定路径字符串的目录信息。eg:string path = Path.GetDirectoryName(fullFileName);
4.2 在指定的路径中创建目录与子目录。eg: Directory.CreateDirectory(path);
4.3 将文件保存在本地路径下。eg:files[0].SaveAs(fullFileName);将文件保存到程序的路径下。
5.返回数据(文件路径)。eg:return Content(virtualPath);
上传2
<input id="uploadFile" type="file" name="uploadFile" />
1.先获取到上传文件对象。 eg: var file=document.getElementById('uploadFile').files[0];
2.文件名。eg:Fileupload="(可选)加路径"+file.name;
3.初始化一个FormData对象。var formData=new FormData();
4.将文件塞入到FormData中。formData.append("file",fileData);
(其中fileData var fileData=file 将file赋给fileData)
5.运用ajax调用后台的方法
$.ajaxFileUpload({
url: "/WorkSummary/Files",
type:"POST",
async:false,
data: formData,
processData:false,//告诉jQuery不要去处理发送的数据
contentType:false,//告诉jQuery不要去设置Content-Type请求头
success: function (data) {
}
});
后台