asp.net 如何使用百度的webuploader

asp.net如何使用百度的webuploader,如何让她跟服务器进行交流,以及把图片保存到服务器啊,有没有会用的大神能给我个例子啊?官方的demo没看明白啊。... asp.net 如何使用百度的webuploader,如何让她跟服务器进行交流,以及把图片保存到服务器啊,有没有会用的大神能给我个例子啊?官方的demo没看明白啊。 展开
 我来答
没排名排名C2
推荐于2016-02-21 · TA获得超过275个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:175万
展开全部

asp.net的服务器端的自己重新写一个服务,下载下来的是一个php的写的,将下载的代码进行如下修改(这里使用的是demo中的image-upload):

首先,找到109行的代码

 var swf = './expressInstall.swf';

修改为您的地址

//修改您的flash地址
var swf = './Scripts/webuploader-0.1.5/examples/image-upload/expressInstall.swf';

其次,找到151行,在实例化的时候修改用于上传flash的地址:

  swf: '../../dist/Uploader.swf',

修改为

swf: './Scripts/webuploader-0.1.5/dist/Uploader.swf',

第三,找到154行,将图片上传地址修改为.net的一般处理程序的请求地址

server: '../../server/fileupload.php',

修改为您的一般处理程序地址

server: './server/fileupload.ashx',

第四,找到260行修改预览的服务器代码地址(我没有写不影响文件上传)

$.ajax('../../server/preview.php', {

修改为您的一般处理程序的预览地址

 $.ajax('./server/preview.ashx', {

好了,到这里我们将upload.js修改完成了。

下面就是写了处理程序了,在项目中创建一个server文件夹并添加以下两个文件fileupload.ashx和preview.ashx。

下面介绍fileupload.ashx的实现方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Text;

namespace Blog.server
{
    /// <summary>
    /// Summary description for fileupload
    /// </summary>
    public class fileupload : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            //指定字符集
            context.Response.ContentEncoding = Encoding.UTF8;
            if (context.Request["REQUEST_METHOD"] == "OPTIONS")
            {
                context.Response.End();
            }
            SaveFile();
        }
        /// <summary>
        /// 文件保存操作
        /// </summary>
        /// <param name="basePath"></param>
        private void SaveFile(string basePath = "~/Upload/Images/")
        {
            var name = string.Empty;
            basePath = (basePath.IndexOf("~") > -1) ? System.Web.HttpContext.Current.Server.MapPath(basePath) :
            basePath;
            HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
            //如果目录不存在,则创建目录
            if (!Directory.Exists(basePath))
            {
                Directory.CreateDirectory(basePath);
            }

            var suffix = files[0].ContentType.Split('/');
            //获取文件格式
            var _suffix = suffix[1].Equals("jpeg",StringComparison.CurrentCultureIgnoreCase) ? "" : suffix[1];
            var _temp = System.Web.HttpContext.Current.Request["name"];
            //如果不修改文件名,则创建随机文件名
            if (!string.IsNullOrEmpty(_temp))
            {
                name = _temp;
            }
            else
            {
                Random rand = new Random(24 * (int)DateTime.Now.Ticks);
                name = rand.Next() + "." + _suffix;
            }
            //文件保存
            var full = basePath + name;
            files[0].SaveAs(full);
            var _result = "{\"jsonrpc\" : \"2.0\", \"result\" : null, \"id\" : \"" + name + "\"}";
            System.Web.HttpContext.Current.Response.Write(_result);
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

运行效果如下:



上传成功了,下面来看看文件是否被保存了,打开文件件查看如下;

Perfect!正如完美预料的那样成功了。谢谢!!!!

Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式