asp.net 如何使用百度的webuploader
asp.net如何使用百度的webuploader,如何让她跟服务器进行交流,以及把图片保存到服务器啊,有没有会用的大神能给我个例子啊?官方的demo没看明白啊。...
asp.net 如何使用百度的webuploader,如何让她跟服务器进行交流,以及把图片保存到服务器啊,有没有会用的大神能给我个例子啊?官方的demo没看明白啊。
展开
1个回答
展开全部
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 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询