首页 > 其他分享 >一个 ashx的 上传,代码示例

一个 ashx的 上传,代码示例

时间:2024-12-18 11:45:39浏览次数:3  
标签:files string 示例 newfilename ashx Path fullpath 上传 imgurl

-------------------------js

function ajaxUploadImg(btn) {

var button = btn, interval;
new AjaxUpload(button, {
action: 'upload.ashx',
data: {},
responseType: 'json',
name: 'myfile',
onSubmit: function (file, ext) {
if (!(ext && /^(jpg|JPG|png|PNG|gif|GIF)$/.test(ext))) {
nerror(jsT.T("图片格式不对"));
return false;
}
},
onComplete: function (file, response) {
ConsumableModal.find(".img").attr("src", response.imgurl);
ConsumableModal.find(".hidImgName").val(response.imgurl);
}
});
}

--------------------------ashx

public class Upload : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
string ossurl = GlobalOSS.ossurl;
HttpFileCollection files = context.Request.Files;
string msg = string.Empty;
string error = string.Empty;
string imgurl;
if (files.Count > 0)
{
string basepath = AppDomain.CurrentDomain.BaseDirectory;
string path = System.IO.Path.Combine(basepath, "CumScore/AssetImages");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}

string newfilename = System.IO.Path.GetFileNameWithoutExtension(files[0].FileName) + "_" + Guid.NewGuid().ToString() + System.IO.Path.GetExtension(files[0].FileName);
string fullpath = System.IO.Path.Combine(path, newfilename);
files[0].SaveAs(fullpath);
if (File.Exists(fullpath))
{
GlobalOSS.DoOss(fullpath, "oas/" + newfilename);
if (File.Exists(fullpath))
File.Delete(fullpath);
}
msg = "";
// imgurl = "/Fixed/FixImages/" + newfilename;
imgurl = ossurl + newfilename;
string res = "{ error:'" + error + "', msg:'" + msg + "',imgurl:'" + imgurl + "'}";
context.Response.Write(res);

}
}

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

 

-----------------------------

返回 的 imgurl  可能是这样子的:

https://ttt1-oss-euapp-test.oss-cn-shenzhen.aliyuncs.com/oas/Dingtalk_20241-2_38f9b6e9-4910-4e47-8bd9-4a4f20325d79.jpg

 

标签:files,string,示例,newfilename,ashx,Path,fullpath,上传,imgurl
From: https://www.cnblogs.com/ijunxiong/p/18614451

相关文章

  • 完美解决PHP无法上传大文件源码
    前端:vue2,vue3,vue-cli,html5,jquery,webuploader后端:php服务器:linux,centos,Windows,数据库:MySQL,达梦数据库,人大金仓平台:Windows,macOS,Linux,Ubuntu,RedHat,中标麒麟,银河麒麟,统信UOS,信创国产化CPU:x86(Intel,AMD,兆芯,海光),arm(鲲鹏,飞腾),龙芯(mips),龙芯(Loong......
  • JAVA实现大文件上传实例解析
    技术:分片,断点续传,加密传输,加密存储要求:开源,免费,技术支持需求:大文件上传,批量上传,断点续传,文件夹上传,大文件下载,批量下载,断点下载,文件夹下载文件夹:上传下载需要支持层级结构,采用非压缩方式文件大小:100G前端:vue2,vue3,vue-cli,jquery,html,webuploader后端:java,JSP,sprin......
  • ASP.NET大文件(视频)上传思路
    功能:大文件上传下载,断点续传,文件夹上传下载,加密传输,加密存储,云对象存储要求:免费,开源,技术支持前端:vue2,vue3,react,vue-cli,html,jquery后端:asp.net,vb.net,.netcore,.netmvc,.netwebform平台:Windows,macOS,Linux,Ubuntu,RedHat,CentOS,中标麒麟,银河麒麟,统信UOS,信......
  • SPRINGCLOUD实现大文件上传
    技术:分片,分块,分割,支持第三方软件集成,要求:免费,开源,技术支持前端:vue2,vue3,vue-cli,webuploader,html5后端:java,SpringBoot协议:HTTPWebServer:Tomcat,Resin数据库:MySQL,Oracle,SQLServer,达梦,人大金仓,国产化数据库平台:Windows,macOS,Linux,Ubuntu,RedHat,中标麒麟......
  • 【重要】time库函数简介及简单用法示例
    由于您提到的部分项(如_STRUCT_TM_ITEMS,__doc__,__loader__,__name__,__package__,__spec__)并不是time库中用于时间处理的函数,而是模块的内部属性或特殊变量,因此我将只列出与时间处理相关的函数,并按照您的要求以表格形式展示。序号函数名简介简单用法示例1al......
  • Java语言使用Lambda表达式介绍及示例
    前言JavaLambda表达式是Java8中引入的一个重要特性,它提供了一种简洁、灵活的方式来表示函数式接口的实现。以下是一些JavaLambda表达式的介绍和示例,展示了如何在不同场景中使用Lambda表达式。基本概念Lambda表达式基于数学中的λ演算得名,也可称为闭包(Closure)。它是一小......
  • PbootCMS模板上传栏目缩略图时,图片宽度自动变成1000像素,如何解决?
    在使用PbootCMS模板时,如果你发现上传的栏目缩略图在保存后自动变成了1000像素的宽度,这通常是由于系统配置中的缩略图最大宽度设置所致。你可以通过修改配置文件来解决这个问题。以下是详细的步骤和实现方法:理解问题原因:PbootCMS在上传图片时会根据配置文件中的设置自动调整图......
  • 【重要】easygui库中所有函数简介及示例
    以下是用表格形式整理后的每个easygui函数的信息。请注意,由于某些项(如EgStore,__all__,__builtins__等)并不是easygui的函数,因此它们不会出现在表格中。只列出了与easygui函数相关的项。序号函数名简介简单用法示例1abouteasygui显示关于easygui的信息easygui.abo......
  • 高性能计算-Intel IPP库ARM移植示例(20)
    1.简介Intel®IntegratedPerformancePrimitives,即英特尔集成性能基元(简称IPP),为信号、数据和图像处理特定应用领域,提供simd优化的一组全面的函数库。本项目将对exp、cos、sin、tone、Triangle函数用NEON向量化指令实现ARM移植版本,有串行和向量化两个版本。计算使用泰勒展开......
  • # easygui中所有函数用法示例
    #easygui中所有函数用法示例'''注意事项文件对话框:filesavebox和fileopenbox示例中的filetypes参数可以指定文件类型过滤器,例如["*.txt"]只显示文本文件。运行这个脚本,你将看到easygui提供的各种对话框,并可以测试它们的功能。'''importeasygui#1、msgbox:显......