文件上传:
表单方式:
MVC:
方法一、public ActionResult Upload2()
{
//获取要上传的文件名称及类型
var fils = HttpContext.Request.Files[0];
//文件名称分割成 名称和类型
var temp = fils.FileName.Split('.');
//获取类型
var extendName = temp[temp.Length - 1];
//设置储存路径
var path = HttpContext.Server.MapPath("~/Filters/");
//如果没有此路径
if (!Directory.Exists(path))
{
//创建路径
Directory.CreateDirectory(path);
}
//获取到时间格式的名称
var name = DateTime.Now.ToFileTime() + "." + extendName;
fils.SaveAs(Path.Combine(path, name));
return Content("上传成功");
}
{
var filePath = Server.MapPath(string.Format("~/{0}", "File"));
file.SaveAs(Path.Combine(filePath, fileName));
string sql = $"insert into Files values('{fileName}','**','{filePath}')";
int i= DBHelper.ExecuteNonQuery(sql);
{
//return Content("上传成功!");
Response.Write("<script>alert('上传成功!');location.href='/File/Index'</script>");
}
else
{
Response.Write("<script>alert('上传失败!')</script>");
}
<input id="Submit1" type="submit" value="提交" /><input name="file" type="file" />
</form>
public class FileOperationController : ApiController
{
[HttpPost]
public FileResult UpLoad()
{
return help.UpLoad();
}
<input type = "file" id="f1" />
<input type = "button" value="aa" onclick="ff()"/>
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 < 0)
alert(data.Msg)
else
alert(data.Url)
},
error: function(data) {
alert("上传失败!");
}
});
}
(1)返回filestream
public FileStreamResult download() { string fileName = "aaa.txt";//客户端保存的文件名 string filePath = Server.MapPath("~/Document/123.txt");//路径 return File(new FileStream(filePath, FileMode.Open), "application/octet-stream",fileName);
}
其中://“text/plain”是文件MIME类型
(2)返回file
public FileResult download()
{
string filePath = Server.MapPath("~/Document/123.txt");//路径
return File(filePath, "text/plain", "welcome.txt"); //welcome.txt是客户端保存的名字
}