上传文件到服务器 前端+后台代码

不是原创,但有必要记录一下,免得每次都找的很辛苦

html

    

js

function fileSelected() {
    var file = document.getElementById('fileToUpload').files[0];
    if (file) {
        var fileSize = 0;
        if (file.size > 1024 * 1024)
            fileSize = (Math.round(file.size * 100 / (1024 * 1024)) / 100).toString() + 'MB';
        else
            fileSize = (Math.round(file.size * 100 / 1024) / 100).toString() + 'KB';

        document.getElementById('fileName').innerHTML = 'Name: ' + file.name;
        document.getElementById('fileSize').innerHTML = 'Size: ' + fileSize;
        document.getElementById('fileType').innerHTML = 'Type: ' + file.type;
    }
}

function uploadFile() {
    var fd = new FormData();
    fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]);
    var xhr = new XMLHttpRequest();
    xhr.upload.addEventListener("progress", uploadProgress, false);
    xhr.addEventListener("load", uploadComplete, false);
    xhr.addEventListener("error", uploadFailed, false);
    xhr.addEventListener("abort", uploadCanceled, false);
    xhr.open("POST", "/Home/ToLead");
    //xhr.open("POST", "UploadMinimal.aspx");
    xhr.send(fd);
}

function uploadProgress(evt) {
    if (evt.lengthComputable) {
        var percentComplete = Math.round(evt.loaded * 100 / evt.total);
        document.getElementById('progressNumber').innerHTML = percentComplete.toString() + '%';
    }
    else {
        document.getElementById('progressNumber').innerHTML = 'unable to compute';
    }
}

function uploadComplete(evt) {
    /* This event is raised when the server send back a response */
    alert(evt.target.responseText);
}

function uploadFailed(evt) {
    alert("There was an error attempting to upload the file.");
}

function uploadCanceled(evt) {
    alert("The upload has been canceled by the user or the browser dropped the connection.");
}

C#

        /// 
        /// 上传照片
        /// 
        /// 
        /// 
        public ActionResult ToLead(HttpPostedFileBase[] fileToUpload)
        {
            try
            {
                string FileUrl = string.Empty;
                foreach (HttpPostedFileBase file in fileToUpload)
                {
                    string path = System.IO.Path.Combine(Server.MapPath("~/Mers"), System.IO.Path.GetFileName(file.FileName));
                    file.SaveAs(path);
                    FileUrl = path;
                    FileStream Pic = new FileStream(path, FileMode.Open);
                    byte[] PicByte = new byte[Pic.Length];
                    Pic.Read(PicByte, 0, (int)Pic.Length);
                    Pic.Close();
                }
                return Content("上传成功");
            }
            catch
            {
                return Content("上传失败");
            }
        }

你可能感兴趣的:(上传文件到服务器 前端+后台代码)