C#MVC通过AJAX调用API方法进行上传下载
2021-01-22 12:17
标签:void dir value jpg query create 下载 isp 处理 //这是写的一个类,具体是上传图片的上传和下载 public class FileResult //首先在api方法内新建一个控制器 //控制器内写关于上传和下载的具体代码 //写完api方法之后写mvc前台 C#MVC通过AJAX调用API方法进行上传下载 标签:void dir value jpg query create 下载 isp 处理 原文地址:https://www.cnblogs.com/apf20010807/p/12082315.html
{
public int Code { get; set; }
public string Msg { get; set; }
public string Url { get; set; }
}
public string[] ExtentsfileName = new string[] { ".doc", ".xls", ".png",".jpg" };
[HttpGet]
public void DownLoad(string Url)
{
string filePath = HttpContext.Current.Server.MapPath(Url);
FileInfo fi = new FileInfo(filePath);
if (File.Exists(filePath))
{
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.ClearHeaders();
response.ClearContent();
response.Buffer = true;
response.AddHeader("content-disposition", string.Format("attachment; FileName={0}", fi.Name));
response.Charset = "GB2312";
response.ContentEncoding = Encoding.GetEncoding("GB2312");
response.ContentType = MimeMapping.GetMimeMapping(fi.Name);
response.WriteFile(filePath);
response.Flush();
response.Close();
}
}
[HttpPost]
public FileResult UpLoad()
{
var request = HttpContext.Current.Request;
if (request.Files.Count > 0)
{
var file = request.Files[0];
var extenfilename = Path.GetExtension(file.FileName);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
{
string urlfile = UrlPath + DateTime.Now.ToFileTime() + extenfilename;
string filepath = HttpContext.Current.Server.MapPath(urlfile);
file.SaveAs(filepath);
return new FileResult() { Code = 0, Msg = "上传成功", Url = urlfile };
}
else
{
return new FileResult() { Code = -1, Msg = "只允许上传指定格式文件"+string.Join(",",ExtentsfileName), Url = "" };
}
}
else
{
return new FileResult() { Code = -1, Msg = "不能上传空文件", Url = "" };
}
}
}
function ff()
{
var formData = new FormData();
var file = document.getElementById("f1").files[0];
formData.append("fileInfo", file);
$.ajax({
url: "https://localhost:44370/api/FileOperation/UpLoad",
type: "POST",
data: formData,
contentType: false,//必须false才会自动加上正确的Content-Type
processData: false,//必须false才会避开jQuery对 formdata 的默认处理,XMLHttpRequest会对 formdata 进行正确的处理
success: function(data) {
if (data.Code alert(data.Msg)
else
alert(data.Url)
},
error: function(data) {
alert("上传失败!");
}
});
}
下载 a >
文章标题:C#MVC通过AJAX调用API方法进行上传下载
文章链接:http://soscw.com/index.php/essay/45419.html