后台如何获取上传文件,急,web方面一点都不懂但工作需要,望回答详细点,谢谢

第一、cshtml文件代码:
class="easyui-window" id="import-excel-template" title="文件上传" style="width:500px;height:150px;padding:2px;" closed="true">
《Form id="importFileForm" method="post" enctype="multipart/form-data" style="display:none">
《 table style="margin:5px;height:70px;">
《tr>
《td>《input type="file" class="easyui-filebox" id="fileImport" name="fileImport" style="width:400px;" onchange="document.getElementById('textfield').value=this.value">
《td>
《/tr>
《tr>
《td colspan="4">《label id="fileName" />
《/tr>
《tr>
《td colspan="4">
《label id="uploadInfo" />

《/tr>
《/table>
《input type="text" name="textfield" class="file" id="textfield"

    《div style="text-align:center;clear:both;margin:5px;">
        《a id="uploadFile2" class="easyui-linkbutton" data-options="iconCls:'icon-ok'" data-bind="click:importFileClick" href="javascript:void(0)">上传</a>
        《a class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" data-bind="click:closeImportClick" href="javascript:void(0)">关闭</a>
    《/div>
《/form>

《/div>
第二、js代码

    //获取form数据
    var formData = new FormData($("#importFileForm")[0]);

    var strUrl = '/api/sys/ProductVersion/PostExcelData?' + 'VersionCode=' + escape(mUploadVersion);//关键 escape编码后台直接读出的是中文
    //调用apicontroller后台action方法,将form数据传递给后台处理。contentType必须设置为"multipart/form-data"
    $.ajax({
        url: strUrl,
        type: 'POST',   //上传文件则此属性是必须的,但得出VersionCode为乱码;若不是上传文件不要此属性VersionCode不是乱码
        data: formData, //{"":"avvvv"},     //与此属性无关Request.Files
        async: false,
        cache: false,
        contentType:  "multipart/form-data",  //必须false才会自动加上正确的Content-Type 
        processData: false,   //必须false才会避开jQuery对 formdata 的默认处理 
        success: function (returnInfo) {
            //上传成功后将控件内容清空,并显示上传成功信息
            document.getElementById('fileImport').value = null;
            document.getElementById('uploadInfo').innerHTML = "<span style='color:Red'>" + returnInfo + "</span>";
            mbHasUpload = true;
        },
        error: function (returnInfo) {
            //上传失败时显示上传失败信息
            document.getElementById('uploadInfo').innerHTML = "<span style='color:Red'>" + returnInfo + "</span>";
        }
    });

第三、public class ProductVersionApiController : ApiController里面的方法PostExcelData()

            //todo 获取客户端上传的文件集合, ie11可以,360-火狐-google chromse不行
            HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;

问题:Request.Files里面得到的是文件的路径而且除了ie其他浏览器时个数都是0,这个方法不实用。如果能得到文件字节流最好了。
不过无论什么方法,能解决我的问题就行

6个回答

可能是我修改的工程里面的js是别人重写过的,格式等方面与通用的不一样,而我又不明白。所以我引用另外的js,然后就可以了。下面是我参考的例子。
http://download.csdn.net/detail/u013533810/8890443

liang4419
liang4419 PostExcelData(HttpPostedFileBase file) file为null
接近 3 年之前 回复
liang4419
liang4419 PostExcelData(HttpPostedFileBase file) file为null
接近 3 年之前 回复
liang4419
liang4419 除了ie,其他浏览器得到的files是0个。
接近 3 年之前 回复

用列得到在将其存在用硬盘的某个地址即上传,下次引用这个地址,用输出流得到即下载

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
代码不懂 高手指点 详细点 谢谢!!!!
我刚学VB 正在学做一个文本框控件(TxtContent)rn请问一下 以下的 TxtContent.SelStart 和TxtContent.SelLength 这两个代码是怎么出来rnrn代码如下:rnClipboard.SetText 内容.SelText rnrn起始位置.Caption = "起始位置:" & TxtContent.SelStart rnrn内容.Text = "" rnrnEnd rnrn文本长度.Caption = "文本长度:" & TxtContent.SelLength rnrn内容.SelText = Clipboard.GetText rn
两个问题? 希望回答详细点谢谢!
rn问题一:rnrn 我用ADO+Access, 在执行代码过程中,出现错误提示rnrn "BOF 或 EOF 中有一个是真,,或者当前的记录被删除,,所需的操作要求一个当前的记录"rnrnrn 我用BDE+Access, 在执行代码过程中,出现错误提示rnrn "内存或磁盘空间不足,无法完成操作"rnrn代码太长,不便发贴,,rnrnrn问题二:rnrn怎么用代码实现对word文件进行全选,将其拷贝到粘贴板?
一个问题谁能详细点回答?谢谢
写出执行3+2的汇编语言程序段,画出微处理器结构图,解释执行过程。
请大家回答详细点!!!!
我做了一个小的管理系统 要打包! 怎么打包!还有数据库 怎么处理!!!??
如何连到数据库(请详细点,谢谢!)
如何用bde连到数据库呢rndatabase tquery dbgrid datasource ClientDataSet
PE 是什么意思??(回答详细点)
``
一点都不懂!!!
大家好:rn 今天是2001年9月8日,星期六,北京天气阴转多云.东北风1-3级,秋天来了,请大家注意别着凉.下面我预报我的问题:rn 如何做一个在网上注册的问题.也就是:我在网上发布软件,让别人去注册,买我的注册码,这个问题我在C++Builder论坛中已经发布了一月有余了,依然得不到答复,很是失望,因此转到了vc++论坛中,希望有高手能够给出一个思路,或给出一些参考信息.在此感谢了!rn我的分全给了,"舍不得孩子捉不住狼".放此一搏了!!!
用java如何实现再现试听?谢谢急,详细点
用java如何实现再现试听?谢谢急,送分rn
asp:FileUpload上传文件怎么加载进度条?详细点,谢谢
一个类似QQ群文件上传的界面,怎么加载进度条不会,用asp:FileUpload控件上传文件,求大神详解
怎样建立自己的静态及动态库?(尽量详细点,包括在vc中的具体步骤,小弟一点都不懂)
平时写的一些代码,比如类等,有时在以后还能用得着。怎样才能把它们做成库的形式,以便方便使用。小弟从来没有这方面的实践,还望同行高手指教。
如何注册用户?详细点!
我是初学者,每次进入notes时都默认是以admin登陆。我想以其他用户名登陆,如何注册、设置?
C++ 模板,一点不懂,请指教,新手,说详细点吧,谢谢
[code=c]rn#include "stdio.h"rnclass Trnrn rn;rnrntemplaternclass Brnrnrn;rnrnint main(int args,char *argv[])rnrn BtheZpp; //这一句,实例化名为theZpp的,类型为T的数组。rn return 0;rnrn[/code]rnrnBtheZpp; 这一句theZpp相当于T的数组,是不是类似这样T theZpp[10];那前面的B怎么解释?我就是卡在这里了,困惑。请解释下,谢谢csdn各位。
json(初学者,望前辈仔细点回答)
前台怎么将数据组织为json数据,后台怎么将数据组织为json数据,后台怎么接收前台传过来的json数据(springMVC的controller),接收后怎么处理/解析?
html和web表单控件有什么不同,详细点,谢谢。
html和web表单控件有什么不同,是不是其中的一个不同?
一点都不懂php如何开始学?
一点都不懂php如何开始学? rn先学什么然后开始学php呢? 谢谢rnrn只是为了少走弯路 有没有推荐的书籍
怎么配置.NET环境?详细点,谢谢
怎么配置.NET环境?详细点,谢谢
itoa是什么函数??说的详细点,谢谢!
如题
帮我写个算法,详细点的,好吗?谢谢!
有没有这道题的程序:rn0-9十个数,填入10个空格中,这十个数不能重复,组成十位数。rn第十位上的数能被1整除。rn第十位和第九位组成的数能被2整除。rn第十,九,八位组成的数能被3整除。rn以此类推。rn这个十位数能被10整除。rn???谢谢
怎样定时提交表单(请详细点 谢谢)
怎样定时提交表单(请详细点 谢谢)
中原 请详细点说明一下谢谢!!
-
这一句语法是什么意思谢谢详细点
SET ANSI_NULLS ONrnGOrnSET QUOTED_IDENTIFIER ONrnGOrnSET ANSI_PADDING ONrnGOrnCREATE TABLE [dbo].[Global](rn [name] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,rn [value] [varchar](500) COLLATE Chinese_PRC_CI_AS NULLrn) ON [PRIMARY]rnrnGOrnSET ANSI_PADDING OFF
这个题怎么做?详细点 ,谢谢大家
秒数显示:文本框rn按钮(开始计时)按钮(停止计时)
请说的详细点
我看到,如何学好c/c++的贴子,有位前辈说:rn“方法只有一个:学习,实践,再学习,再实践!”你指的学习,要学什末?rn你指的学习,要学什末?rn你指的实践,实践什末?rnrn
ViewState的工作原理(详细点)
我想知道ViewState的详细的工作原理,最近老是上课讲得比较粗略,我感觉理解得很空洞,希望用人能帮我解释一下。最好说得通俗一点,不要太专业了,有一段代码示例来说明更好。只要原理就行。
学钩子试写的程序,但一点都不懂
为了学习钩子的内容,在窗体上做了两个按钮rn按纽1 是每按一下会在其显示上自动加1rnrn而按纽2是根据按纽1的资料下勾子rnrn这样写象没有勾住,当打开的文件夹最小化及关闭时发生了事件,而按纽点击或加一却没有动作rnrn请各位大牛指点指点!rn谢谢rnrn而本贴的实际应用将是在如下贴子的一个想法,也请一并去看看?rnrnhttp://topic.csdn.net/u/20111111/22/d3c96ef8-3f85-4c8d-bd48-f417e26727f4.html?seed=1603349889&r=76466799#r_76466799rn无限感激!rnrnrn'这是在模块里,抄网上的内容的rnPublic m_hDllKbdHook As Long '全局键盘钩子变量rn rnPrivate Const HC_ACTION As Long = 0 'wParam and lParam parametersrn 'contain information about a keyboard messagernrnPrivate Const VK_F1 = &H70rnrnrnPublic Type KeyboardBytesrn kbByte(0 To 255) As ByternEnd TypernrnPrivate Type KBDLLHOOKSTRUCTrn vkCode As Long 'a virtual-key code in the range 1 to 254rn scanCode As Long 'hardware scan code for the keyrn flags As Long 'specifies the extended-key flag,rn 'event-injected flag, context code,rn 'and transition-state flagrn time As Long 'time stamp for this messagern dwExtraInfo As Long 'extra info associated with the messagernEnd TypernrnPublic Declare Function GetWindowThreadProcessId Lib "user32" _rn (ByVal hwnd As Long, lpdwProcessId As Long) As Longrnrn'安装勾子rnPublic Declare Function SetWindowsHookEx Lib "user32" _rn Alias "SetWindowsHookExA" _rn (ByVal idHook As Long, _rn ByVal lpfn As Long, _rn ByVal hmod As Long, _rn ByVal dwThreadId As Long) As Longrn rnPublic Declare Function UnhookWindowsHookEx Lib "user32" _rn (ByVal hHook As Long) As LongrnrnPublic Declare Function CallNextHookEx Lib "user32" _rn (ByVal hHook As Long, _rn ByVal nCode As Long, _rn ByVal wParam As Long, _rn ByVal lParam As Long) As Longrn rnPublic Declare Sub CopyMemory Lib "kernel32" _rn Alias "RtlMoveMemory" _rn (pDest As Any, _rn pSource As Any, _rn ByVal cb As Long)rnrn'idHook代表是何种Hook,有以下几种rn Public Const WH_KEYBOARD_LL As Long = 13 'enables monitoring of keyboardrn 'input events about to be postedrn 'in a thread input queuern rn rn Public Const WH_CALLWNDPROC = 4rn Public Const WH_CALLWNDPROCRET = 12rn Public Const WH_CBT = 5rn Public Const WH_DEBUG = 9rn Public Const WH_FOREGROUNDIDLE = 11rn Public Const WH_GETMESSAGE = 3rn Public Const WH_HARDWARE = 8rn Public Const WH_JOURNALPLAYBACK = 1rn Public Const WH_JOURNALRECORD = 0rn Public Const WH_KEYBOARD = 2rn Public Const WH_MOUSE = 7rn Public Const WH_MSGFILTER = (-1)rn Public Const WH_SHELL = 10rn Public Const WH_SYSMSGFILTER = 6rn Dim adrnrnrnPublic Function controlsProc(ByVal nCode As Long, _rn ByVal wParam As Long, _rn ByVal lParam As Long) As Longrn rn Static kbdllhs As KBDLLHOOKSTRUCT '这只中抄网上的不知何解rn rn rn If nCode = HC_ACTION Then '拦消息的特征码是什么?代表一个消息正在被发送rn rn If wParam > 0 Then '据说这是有消息传递了,表示勾住了?rn '这是的操作就是想知道按纽1勾住了后rn '每按一次它会加一,它最后显示的那个结果能得出来rn '不知道如何写下去了rnrn End Ifrn rn End Ifrn rn '全部不拦截后才会有下一下勾子,拦后会自动有下一个?rn controlsProc = CallNextHookEx(m_hDllKbdHook, nCode, wParam, lParam)rn rnEnd Functionrnrn'下面是在窗体上写的内容rn rnPrivate Sub Command1_Click()rn Command1.Caption = Val(Command1.Caption) + 1rnEnd SubrnrnrnPrivate Sub Command2_Click()rn Dim MyHwnd& '指定的句柄rn Dim MyThreadId&, MyProcessId& '由句柄得到线程及进程rn rn MyHwnd = Command1.hwnd '按纽1的句柄rn rn MyThreadId = GetWindowThreadProcessId(MyHwnd, MyProcessId)rn rn '装载钩子rnrn '勾住按纽1,用以得到信息rn m_hDllKbdHook = SetWindowsHookEx(WH_GETMESSAGE, AddressOf controlsProc, App.hInstance, MyThreadId)rn'本意是想用钩子查看按钮1所发生的事件rn'所以第一个参数用了想得到信息rn'第三个参数不知为什么,只抄了网上的写法rn'第四个参数是用了按钮1 的线程,希望只钩按纽1 的消息rnrnrn If m_hDllKbdHook = 0 Thenrn MsgBox "Failed to install low-level keyboard hook."rn End IfrnEnd Subrnrnrnrnrn'卸载钩子rnPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)rn Call UnloadHookrnEnd SubrnrnPrivate Sub Form_Terminate()rn Call UnloadHookrnEnd SubrnrnSub UnloadHook()rn If m_hDllKbdHook <> 0 Thenrn Call UnhookWindowsHookEx(m_hDllKbdHook)rn End IfrnEnd Subrn
C#在Web中,如何实现全局变量?详细点
谢谢了,
我还是不懂,请高手来个详细点的!感激之至
我使用jsp判断两个提交的字串是否相等,不等的话就弹出窗口请求确认,用户确认后可继续,否则的话就返回重填,对使用javascript我是一窍不通,希望高手能详细指点,感激无以言表!
在 Eclipse7.0 中 如何配置ext2.0 详细点谢谢
如题 测试通过 给分
如何利用iis进行站点流量统计详细点,谢谢
-
kettle怎么链接数据库 求步骤 新手不懂 详细点
最近新研究kettle 求大神教小弟怎么玩kettle 链接到oracle数据库, 本人新人 步骤详细点 在此跪谢了!!!!!!!
Asp.net如何分块上传?代码详细点谢谢!
Asp.net大文件上传问题。。。。
如何生成ACCESS库[详细点最好]
如题
Vc++和c++有什么区别啊?请回答详细点!
我买不到c++的软件。误买了vc++
如何建一个表空间,详细点!
如何建一个表空间,详细点!
哪位给回答一下,请说的详细点,多谢,在线等... ...
我有两台电脑通过集线器共享上网,两台电脑分别命名为甲,乙。原来是ADSL安装在甲上,甲上网登陆成功,乙才能上。现在我想把它装到乙上,变为乙是主叫用户。我把ADSL装到乙上后,装了ADSL的驱动,设置了宽带连接,网络连接使之可以共享上网,但是拨号连接的时候,在到检验用户名密码的时候系统说和域的用户密码不相同,不知道是为什么?怎么会出这样的问题呢?
讨论:如何解释视图,希望详细点?
菜鸟级问题:如何解释视图,希望详细点?想看看高手们对视图的理解,在没视图的数据库,会有什么问题?
如何搭建struts 环境 详细点
小弟,最近要学习框架了,就从struts 开始了,但首先得搭建struts 环境了rn如何搭建struts 环境啊?是不是就是下载几个jar 包,那到底是些什么包啊?rn如果不是,还要些什么,是手动搭建哦!rn希望大哥指点小弟点..rn高分哦!
如何申请ICQ号码,详细点
-
如何使用ProgressCtrl控件?(要详细点的)
我想点击一个按钮之后,进度条就开始显示,当按钮所做的任务完成之后,进度条就显示完毕,该怎么实现?rn还有就是,这需要一个OnTimer()函数吗?这个函数是自定义的还是系统函数?另外,我看到一些例子上还说要什么OnPaint()?什么意思呀? 望各位指教,我是初学者。
大白鲨答谢:heavyrain1234 (请回答详细点,给分多多)
谢谢你啊!!上传了虽然我刚买到了,我希望的是书rnCB5编程实例与技巧的配书原码第8章以后的已全部上传完 rn在handsome1234.myetang.com的“相关下载里”有下载!! rn加上我早些时候在csdn上上传的(我的主页上也有指向), rn这样这本书的全部代码 都“上网”了, rnpart0是前八章的 rnpart1、part2、part3是第8章后面的, rn后3个文件必须全部下载全后,才能解压(最好在同一文件下) rn希望大家有好东西记得共享啊
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池