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にアップロードする通常の手順を確認できる場所を誰かが文書化しています...または、誰かがそれがどのように行われたかを教えてくれれば本当にありがたいです