zoukankan      html  css  js  c++  java
  • 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" });
        }
    }
  • 相关阅读:
    (一二二)核心动画进阶
    1089. Insert or Merge (25)
    (一二一)核心动画基础
    (一二〇)CALayer的一些特性
    (一一九)通过CALayer实现阴影、圆角、边框和3D变换
    1086. Tree Traversals Again (25)
    POJ 2610:Dog & Gopher
    模拟内存分配(链表实现)
    圣诞树后能找到我的记忆
    YTU 2797: 复仇者联盟之关灯
  • 原文地址:https://www.cnblogs.com/walkerwang/p/3551647.html
Copyright © 2011-2022 走看看