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

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

html

    <form id="form1" enctype="multipart/form-data" method="post" action="upload.php">
        <div class="row">
            <label for="fileToUpload">Select a File to Upload</label>
            <input type="file" name="fileToUpload" id="fileToUpload" onchange="fileSelected();" />
        </div>
        <div id="fileName"></div>
        <div id="fileSize"></div>
        <div id="fileType"></div>
        <div class="row">
            <input type="button" onclick="uploadFile()" value="Upload" />
        </div>
        <div id="progressNumber"></div>
    </form>

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#

        /// <summary>
        /// 上传照片
        /// </summary>
        /// <param name="fileToUpload"></param>
        /// <returns></returns>
        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("上传失败");
            }
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容