使用 C# 上传 Extjs 文件
Posted
技术标签:
【中文标题】使用 C# 上传 Extjs 文件【英文标题】:Extjs File Upload with C# 【发布时间】:2013-01-25 20:26:56 【问题描述】:我知道 xtype: filefield 是如何工作的,我也意识到文件上传不使用常规的 ajax 方法来读取和写入数据到数据库...
我可以正常设置文件字段,当我单击浏览按钮时,我可以选择必要的文件。
this.fp = Ext.create('Ext.form.Panel',
scope: this,
width: 200,
frame: true,
title: 'File Upload Form',
autoHeight: true,
bodyStyle: 'padding: 10px 10px 0 10px;',
items: [
xtype: 'filefield'
],
buttons: [
text: 'Upload',
handler: function ()
var form = this.up('form').getForm();
if (form.isValid())
form.submit(
url: 'Upload.aspx',
waitMsg: 'Uploading your file...',
success: function (form, action)
alert("OK:" + action.result.message);
,
failure: function (form, action)
alert("Error:" + action.result.message);
);
]
);
点击上传按钮后会发生什么是问题......我如何将文件上传到服务器端......(sql db)......使用c#
我尝试使用 upload.aspx.cs 创建一个 upload.aspx 页面,这样做只是为了看看它是否有效......
public partial class Upload : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
HttpContext context = HttpContext.Current;
if (context.Request.Files.Count > 0)
BinaryReader file = new BinaryReader(context.Request.Files[0].InputStream);
string line;
while ((line = file.ReadString()) != null)
// sql connection?
// prepare response
MessageOb result = new MessageOb();
result.success = true;
result.message = "Success";
但我得到了这个错误
Ext.Error: You're trying to decode an invalid JSON String:
有人记录在哪里我可以看到从客户端的 extjs 和服务器端的 c# 将文件上传到 sql db 的通常步骤......或者如果有人能告诉我它是如何完成的,我将不胜感激
【问题讨论】:
【参考方案1】:问题可能与您如何从上传表单提交返回数据有关。 Ext.JS 要求响应是 JSON 或 XML,我会验证您没有返回 html 文档。
我认为 MessageOb 会以某种方式处理这个问题......也许吧?
Uncaught Ext.Error: You're trying to decode an invalid JSON String: Form Submission using Ext JS and Spring MVC
【讨论】:
感谢 michael...上传时我没有在 extjs 方面做任何事情...我所实现的只是 xtype-filefield,它有自己的文件查找窗口,并在提交时寻找上传.aspx 页面...我不知道该怎么做才能使上传工作 实际上是在 page_load 被触发之前......因为我刚刚意识到无论我在 .cs 文件中放什么,我仍然会遇到同样的错误 你能把你的 ext js 面板表单剥离到最简单的部分并进行测试,直到你触发 page_load 吗? 谢谢 Michael_B...你是对的...问题确实出在我的 upload.aspx...我使用完全不同的技术让它工作...谢谢 @EagleFox 如果您自己提供答案会更好,这样其他登陆此页面的人会得到正确的信息。以上是关于使用 C# 上传 Extjs 文件的主要内容,如果未能解决你的问题,请参考以下文章