• Uploading File using Ajax and receiving binary data in Asp.net (C#)[转]


    基础知识,可由此衍生。原文:http://uniapple.net/blog/?p=2050

    In this post, I will show you how to upload a file using Ajax (Asynchronous JavaScript and XML) and receive the binary data in Asp.net C#. And it is ultra simple!

    1. HTML

    <input id="bannerImage" name="bannerImage" type="file"><input onclick="javascript:uploadfile()" type="button" value="upload">

    2. JS

    function uploadfile(){
        var bannerImage = $("#bannerImage").val();
    
        if (bannerImage) {
                var file = document.getElementById('bannerImage').files[0];
                var formData = new FormData();
                formData.append(file.name, file);
    
                var xhr = new XMLHttpRequest();
                var url = "/Category/UpdateBannerImage";
                xhr.open('POST', url, true);
                xhr.onload = function (e) {
                    var response = $.parseJSON(e.target.response);
                    console.log(response.fileName);
                };
    
               xhr.send(formData);  // multipart/form-data
    
        }
    }

    (Sending Binary Data)

    3. C#, Receiving binary data

    public JsonResult UpdateBannerImage()
    {
        HttpPostedFileBase bannerImage = Request.Files[0] as HttpPostedFileBase;
        if (bannerImage != null && bannerImage.ContentLength > 0)
        {
    	var fileName = Path.GetFileName(bannerImage.FileName);
    	fileName = Regex.Replace(fileName, @"s|$|#\%", "");
    	var path = Path.Combine(Server.MapPath("~/images/category_banners"), fileName);
    	bannerImage.SaveAs(path);
    
    	return Json(new { success = false ,error = false, message = "Image has been updated successfully", fileName = fileName });
        }
        else
        {
    	return Json(new { success = true, error = "File is empty" });
        }
    }
  • 相关阅读:
    学习笔记—二进制和精度问题
    学习笔记—Buffer的常用方法与实现
    学习笔记—Node中第三方模块
    学习笔记—npm的介绍与使用
    .NET中序列化(一)
    .NET中序列化(二)
    JavaScript在多浏览器下杂谈1for循环
    .NET中序列化(三)
    DLCB额度切分
    DLCB解决问题的思路
  • 原文地址:https://www.cnblogs.com/walkerwang/p/3551647.html
Copyright © 2020-2023  润新知