c# - 如何在 C# 中使用 Quickbase API 上传文件?

标签 c# asp.net quickbase

我正在使用Quickbase C# SDK从外部站点向 Quickbase 提交表单。我想在表单中附加一个文件,但似乎不知道如何执行此操作。

下面是我的代码的精简版本:

ASPX

<form id="form1" runat="server">
<asp:TextBox ID="txtFileName" CssClass="textbox" Columns="40" runat="server"></asp:TextBox>
<input type="file" id="attachment1" runat="server" />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
</form>

CS

protected void btnSubmit_Click(object sender, EventArgs e)
{
    IQClient client = QuickBase.Login("username", "password", "domain"); 
    IQApplication app = client.Connect("db_id", "app_token";
    AppInfo appInfo = app.GetApplicationInfo();
    IQTable table = app.GetTable("table_id");

    IQRecord newRecord = table.NewRecord();
    newRecord["File Name"] = txtFileName.Text;
    // attach file?
    newRecord.AcceptChanges();
    table.AcceptChanges();
    client.Logout();
}

提前致谢。

最佳答案

当然,在将问题提交到 StackOverflow 后,我会弄清楚自己的问题。当然。

但我会发布我的解决方案,以防其他人遇到同样的问题。

我必须向 QuickBase C# SDK 添加一个函数并重新编译 DLL 使其正常工作。

将此行添加到 IQRecord.cs:

void UploadFile(string columnName, string filePath);

将此函数添加到 QRecord.cs:

public void UploadFile(string columnName, string filePath)
{
    // create new field with columnName
    var index = GetColumnIndex(columnName);
    CreateNewField(index, columnName);

    // change field type to file
    Columns[index].ColumnType = FieldType.file;

    // Get field location with column index
    var fieldIndex = _fields.IndexOf(new QField(Columns[index].ColumnId));
    SetExistingField(index, fieldIndex, filePath);
}

像这样编译和使用:

// code to upload file to temporary location
newRecord.UploadFile("Story", "path_to_temporary_location");
// delete temporary file

关于c# - 如何在 C# 中使用 Quickbase API 上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20846544/

相关文章:

c# - 基本类型的自定义鉴别器 = null : "but does not have a discriminator value configured"

c# - 使用 &lt;input type ="file"> 上传图像并修复/验证其大小?

c# - 如何从字典列表中删除特定元素

c# - WebActivator.PreApplicationStartMethod 不起作用

c# - 在 ASP.NET 项目中将数据类型从 Oracle 转换为 SQL Server

asp.net - 强制 ASP.Net MVC Bundle 按特定顺序呈现 javascript 文件

javascript - 如何使用 Quickbase API 和 javascript 检索、添加数据

asp.net - HttpApplication 类和 IHttpModule 有什么区别?

jquery - Quickbase 日历报告 - 彩色条

javascript - 类似 vlookup 的 javascript 将输入值从一个字段映射到另一个字段