c#生成的dll,被asp引用,文件域问题

问题描述

因为一些原因,必须要asp使用c#开发的dll,达到上传目的。我的代码是c#中publicintplus(intx,inty){return(x+y);}publicstringupload3(HttpRequestmyform){returnmyform.Form["aa"].ToString();}publicstringupload4(HtmlInputFileHtmCtrlObjUploadFile){returnHtmCtrlObjUploadFile.PostedFile.ContentLength.ToString();}

然后将c#类文件生成的dll注册到计算机中asp代码如下<%sett=Server.CreateObject("ClassLibrary1.Class1")a=request.QueryString("a")selectcaseacase1response.Writet.plus(2,3)'正常case2response.Writerequest.Form("aa")&"<hr>"'正常response.writet.upload3(request)'错误:MicrosoftVBScript运行时错误错误'800a01ae'类不能支持Automation操作case4response.Write(t.upload4(request("fileField")))'错误:MicrosoftVBScript运行时错误错误'800a01ae'类不能支持Automation操作endselect%><formaction="index.asp?a=4"method="post"enctype="multipart/form-data"name="form1"id="form1"><inputtype="text"name="aa"id="aa"/><inputtype="file"name="fileField"id="fileField"/><inputtype="submit"name="button"id="button"value="提交"/></form>

请问怎么做才能让c#做的dll在asp里可以达到上传的目的?必须要dll,我的想法是把表单里面文件域的值都提交给dll,然后在dll中处理上传,请问怎么做?

解决方案

解决方案二:
膜拜,牛逼啊
解决方案三:
这个够呛吧。
解决方案四:
将C#开发的DLL,在生成时勾选“对com可见“这就跟你用Server.CreateObject("FileSystemObject")一样一样的,用的都是COM组件
解决方案五:
引用3楼dongxinxi的回复:

将C#开发的DLL,在生成时勾选“对com可见“这就跟你用Server.CreateObject("FileSystemObject")一样一样的,用的都是COM组件

恩,我想知道上传的代码
解决方案六:
这跟代码没关系,要将那个dll以com组件的方式进行部署(注册)
解决方案七:
引用5楼dongxinxi的回复:

这跟代码没关系,要将那个dll以com组件的方式进行部署(注册)

已经按照com方式部署了,要不然其中的部分函数怎么可能正常使用呢,只是上传函数不好使
解决方案八:
asp中的request,不能直接传给C#中的upload3(HttpRequestmyform)但是我觉得你传byte[]或stream应该都可以,比如publicboolupload(byte[]data,stringsavePath){try{File.WriteAllBytes(data,savePath);returntrue;}catch(...){returnfalse;}}

asp里面调用data=request.BinaryRead(request.TotalBytes);t.upload(data,server.MapPath(保存文件路径));
解决方案九:
引用7楼dongxinxi的回复:

asp中的request,不能直接传给C#中的upload3(HttpRequestmyform)但是我觉得你传byte[]或stream应该都可以,比如publicboolupload(byte[]data,stringsavePath){try{File.WriteAllBytes(data,savePath);returntrue;}catch(...){returnfalse;}}

asp里面调用data=request.BinaryRead(request.TotalBytes);t.upload(data,server.MapPath(保存文件路径));

试了,提示“无效的过程调用或参数”有没有别的方法呢?
解决方案十:
code已经发给你了

时间: 2025-01-29 20:57:25

c#生成的dll,被asp引用,文件域问题的相关文章

测试-asp的文件域如何接收图片地址

问题描述 asp的文件域如何接收图片地址 创建一个文本域 然后在测试时可以选择添加图片请问怎么把图片的链接地址接收到 解决方案 直接用 input type=flie 解决方案二: <input type=""file"" /> 这样就有了文本框和按钮 解决方案三: 不懂要问什么.asp的话需要自己写代码收集表单上传的文件,有第三方写好的类库,如upload_5xsoft,asp无惧上传 解决方案四: 上传文件只能获取文件名 HttpPosetdFile

用VB生成DLL封装ASP代码一个例子:连接access数据库等

access|封装|数据|数据库 封装为dll会带来很多的好处,主要包括只是产权的保护,以及效率和安全性能的提升.这个例子中被封装的dll文件可以隐藏access数据库的实际路径. VB生成的DLL封装ASP代码来连接数据库(Access). 本文用一个最简单的连接access数据库的例子来说明如何将asp代码封装为dll文件. 我们用vb,最常见的方式来封装asp代码. 我们需要封装的对象如下: 'Proconn.aspdim ProConnset ProConn=Server.CreateO

用VB生成DLL封装ASP代码,连接数据库

封装|连接数据库 这篇文章以VB生成的DLL封装ASP代码来连接数据库(以Access数据库为例). 一般情况下我们在用ASP连接Access的数据库时通常都会进行如下的操作 '//Proconn.asp<%dim ProConnset ProConn=Server.CreateObject("ADODB.CONNECTION")ProConn.Open "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ

用VB生成DLL封装ASP连接数据库的代码

这篇文章以VB生成的DLL封装ASP代码来连接数据库(以Access数据库为例). 一般情况下我们在用ASP连接Access的数据库时通常都会进行如下的操作 '//Proconn.asp <% dim ProConn set ProConn=Server.CreateObject("ADODB.CONNECTION") ProConn.Open "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ=&quo

mfc-LabView中调用MFC-Wizard生成的DLL实现自定义文件对话框功能出错

问题描述 LabView中调用MFC-Wizard生成的DLL实现自定义文件对话框功能出错 VC创建MFC-Wizard生成的Dll,在导出函数MyFileOpen中调用由CFileDialog派生类CMyFileDlg实现自定义文件对话框.再在LabView中引用库函数节点调用MFC生成的DLL,输入输出参数设置输入类型int32.输出为C字符串指针即为文件对话框返回的选中目标文件路径. 如上配置完成后,运行弹出1097错误,用error_out屏蔽后,返回路径没有输出结果.DLL调试执行My

c#-关于C#调用matlab生成的.dll文件时的问题

问题描述 关于C#调用matlab生成的.dll文件时的问题 本人用matlab做了一个海浪波长计算程序,想在C#中调用该程序,自己始终无法调用. 也找了网上一些资料,按他们所说的做,结果发现引用后的.dll文件无法应用(已在注册表添加过注册),希望有经验的前辈帮忙解答一下,谢谢. 解决方案 http://www.jb51.net/article/41034.htm 解决方案二: 我使用的是:VS 2008, matlab R2009a: ? 首先遇到的第一个问题是:**** 类型初始值设定项引

vc++-VC6如何在生成动态链结库的文件(DLL)里调用SQL2000

问题描述 VC6如何在生成动态链结库的文件(DLL)里调用SQL2000 VC6如何在生成动态链接库的文件(DLL)里调用SQL2000,最终该文件要用于VFP环境内, 也就是要在SET LIBARY TO XX.DLL里调用里的函数,该问题很是急,麻烦大侠们高抬贵 手! 解决方案 VC产生动态链接库以及调用sql server都不麻烦,只是看你vfp能不能调用了.你的具体问题是什么. 解决方案二: 生成标准windows DLL,用_stdcall调用约定来封装DLL的导出函数等. 解决方案三

dll文件-C#中添加MATLAB生成的Dll文件,出现如下情况,求解答

问题描述 C#中添加MATLAB生成的Dll文件,出现如下情况,求解答 解决方案 http://blog.csdn.net/simplicitylife/article/details/6289466http://zhidao.baidu.com/link?url=5CZupKSTjOaTVksAsR22Ym-r9YIghfG3K5MytCTFNFx1PEkEvH3ckAOWUMt-bTGWjjCXkjv7cD9PEeGXe3dLUahttp://www.docin.com/p-10721338

c# c++ dll-C#调用C++和opencv生成的dll库文件,其中函数中带有指针

问题描述 C#调用C++和opencv生成的dll库文件,其中函数中带有指针 大家好,我用C#调用C++的dll,其中一个函数中有指针,参数的定义在C++中是一个结构体,但是我现在遇到的问题是无法获取托管类型的地址和大小,或无法声明指向它的指针,下面我把这个函数在C++中的定义和我自己转到C#中的定义给大家贴出来,大家帮帮忙,本人属于C++和C#新手. C++ 1. int THFI_Create (short nChannelNum,THFI_Param* pParam) 功能:初始化THFa