alun-chen

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1.此文章是用原生JS来进行文件的上传,有两个版本,一个不用ajax,一个用ajax。

1)非AJAX

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>

<form id="upload-form" action="Template/UploadBusinessImage" method="post" enctype="multipart/form-data">
    <input type="file" id="upload" name="ProductImage"/> <br/>
    <input type="submit" value="上传"/>
</form>

</body>
</html>

 

2)AJAX

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8"/>
    <script>
        /*原生JS版*/
        function updateFile() {
             /* FormData 是表单数据类 */
             var fd = new FormData();
             var ajax = new XMLHttpRequest();
             fd.append("upload", 1);
             /* 把文件添加到表单里 */
             fd.append("ProductImage", document.getElementById("upfile").files[0]);
             ajax.open("post", "Template/UploadBusinessImage", true);

             ajax.onload = function () {
             console.log(ajax.responseText);
            };
         ajax.send(fd);
        }

    </script>
</head>
<body>
    <p><input type="file" id="upfile"></p>
    <p><input type="button" id="upJS" value="用原生JS上传" onclick="updateFile()"></p>
</body>
</html>

 

2. 后台

        public ActionResult UploadBusinessImage(HttpPostedFileBase ProductImage)
        {

            string error = "";
            try
            {
                //文件上传
                HttpPostedFileBase postFileBase = ProductImage;

                //文件后缀
                string extension = Path.GetExtension(postFileBase.FileName);

                //文件流
                Stream uploadStream = postFileBase.InputStream;

                //把文件写入到本地E盘
                using (var fileStream = System.IO.File.Create("E:\\" + postFileBase.FileName))
                {
                    uploadStream.Seek(0, SeekOrigin.Begin);
                    uploadStream.CopyTo(fileStream);
                }

                return this.Json(error, JsonRequestBehavior.AllowGet);

            }
            catch (Exception e)
            {
                return this.Json(e.Message, JsonRequestBehavior.AllowGet);
            }
        }
posted on 2016-09-05 22:05  alun-chen  阅读(1045)  评论(0编辑  收藏  举报