JS上传图片

该文章展示了一个使用HTML和JavaScript进行文件上传的示例,包括一个自定义文件输入组件和一个事件监听器处理文件选择。当文件被选择后,JS创建FormData对象并将文件添加到其中,然后使用Ajax异步POST请求将数据发送到后台。后台使用C#处理上传请求,保存文件到服务器并返回文件路径。
摘要由CSDN通过智能技术生成

html示例:   

<div class="custom-file">
        <label class="custom-file-label" for="customFileHeardPhoto">HeardPhoto</label>
        <input type="file" class="custom-file-input" @@change="onchangemd"                  id="customFileHeardPhoto"> 

</div>

js代码

function onchangemd(e) {

                    //存储file信息
                    console.log(e.target.files)//这个就是选中文件信息
                    var formData = new FormData();
                    formData.append("file", e.target.files[0]);//可以上传一个图片或者添加多个

                    多个示例代码:

          let formdata = new FormData()

        Array.from(e.target.files).map(item => {

         console.log(item)

         formdata.append("file", item)  //将每一个文件图片都加进formdata

       })

                      // 发送请求
                    $.ajax({
                        url: "@Url.Content("/online/ImgUpload")",
                        type: 'POST',
                        data: formData,
                        async: false,
                        cache: false,
                        contentType: false,
                        processData: false,
                        success: function (msg) {
                            if (msg.suc) {
                                this.User.HeardPhoto = msg.msg
                            }
                        },
                        error: function (msg) {

                        }
                    });
                }

后台代码:

  public ActionResult ImgUpload()
        {
            //上传图片可以生成一个独有的路径
            try
            {
                HttpPostedFileBase postFile = Request.Files["file"];
                if (postFile != null)
                {
                    string fileExt = postFile.FileName.Substring(postFile.FileName.LastIndexOf("."));
                    string newFileName = DateTime.Now.ToString("yyyyMMddHHmmssffff") + fileExt;
                    string upLoadPath = "~/Content/image/";//上传目录的相对路径
                    string fullUploadPath = Server.MapPath(upLoadPath);//把路径转换为物理路径
                    postFile.SaveAs(fullUploadPath + newFileName);//核心方法  保存到文件夹中
                    return Json(new ResData<string>(true, "/Content/image/" + newFileName));
                }
                else
                {
                    return Json(new ResData<string>(false, "添加失败"));

                }
            }
            catch (Exception ex)
            {
                return Json(new ResData<string>(false, "添加失败" + ex.Message));
            }
        }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值