前台代码
<form id="fm_upload" class="layui-form layui-form-pane"
method="post" enctype="multipart/form-data" runat="server">
<div class="layui-upload">
<input type="file" class="layui-btn layui-btn-primary" id="importexcel" name="importexcel" multiple="multiple" />
<button id="UpFile" type="button" class="layui-btn layui-btn-sm">
<i class="layui-icon"></i>保存
</button>
</div>
</form>
JS代码
<script type="text/javascript" src="../layui/layui.js"></script>
<script type="text/javascript">
//上传文件的change事件
$("#importexcel").change(function (){
debugger;
/* FormData 是表单数据类 */
var fd = new FormData();
var ajax = new XMLHttpRequest();
fd.append("upload", 1);
/* 把文件添加到表单里 */
fd.append("ProductImage", document.getElementById("importexcel").files[0]);
ajax.open("post", "UserManagement.aspx", true);
ajax.onload = function () {
console.log(ajax.responseText);
};
ajax.send(fd);
})
</script>
后台代码
public partial class UserManagement : System.Web.UI.Page
{
private static string path;
protected void Page_Load(object sender, EventArgs e)
{
upload();
}
public string upload()
{
StringBuilder jsonBuilder = new StringBuilder();
jsonBuilder.Append("{\"");
jsonBuilder.Append("msg\":");
HttpFileCollection files = HttpContext.Current.Request.Files;
if (files.Count > 0)
{
try
{
HttpPostedFile file = files[0];
//System.Web.HttpContext.Current.Request.ApplicationPath这个是程序运行的目录
string filePath = System.Web.HttpContext.Current.Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath + @"\UploadFiles\");
string fileName = System.DateTime.Now.ToString("yyyy-MM-dd") + "SalesOrder.xls";
path = System.IO.Path.Combine(filePath, System.IO.Path.GetFileName(file.FileName));
//保存上传的文件到指定路径中也就是路径path
file.SaveAs(path);
//现在我们可以去这个path路径读取Excel文件里
//this.Sales_Upload.PostedFile.SaveAs(filePath);
jsonBuilder.Append("ok\"");
}
catch (Exception ex)
{
Common.Error("Error" + ex.Message.ToString());
}
}
jsonBuilder.Append("}");
return jsonBuilder.ToString();
}
//只是为了看效果,你们并不参与获取文件路径
//接下来在后台写一个ajax可访问的方法去弹出path
/// <summary>
/// 获取RoleId
/// </summary>
/// <returns></returns>
[WebMethod]
public static string Upload_Save_file()
{
string result = path;
return result;
}
}
效果如图