使用C#Extjs文件上传

时间:2013-01-25 20:26:56

标签: c# sql-server-2008 file-upload extjs4.1 filefield

我知道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 个答案:

答案 0 :(得分: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