v8: Web-расширение 8.0. Задача загрузки файла. Ключевые слова: Web-расширение 8.0. Задача загрузки файла.
Значит создаем проект как обычно.
Добавляем html-элемент input. Пишем код, который будет ниже. В 1С в общем модуле пишем код, который тоже будет ниже. Ставим на общем модуле галочку "Внешнее соединение".
Какие выскакивали ошибки:
1)Если в дальнейшем выскочила ошибка "Object reference not set to an instance of an object.", значит надо использовать не Input (File) из HTML-toolbox, а FileUpload из Standard-toolbox.
Error: Could not find a part of the path '...WebSites\V8WebApplication2\Data\Текстовый документ.txt'.
2) V8.Call(conn, conn.Connection, "ЗагрузитьСтрокуТекста");
Неизвестное имя. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME)). Галочку Внешнее соединение надо было поставить
Теперь код.
Default2.aspx.cs:
using System;
using System.Data;
using System.Text;
using System.IO;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using _1C.V8.Data;
public partial class Default2 : System.Web.UI.Page
{
private System.IO.FileSystemWatcher fileSystemWatcher1;
private void InitializeComponent()
{
this.fileSystemWatcher1 = new System.IO.FileSystemWatcher();
((System.ComponentModel.ISupportInitialize)(this.fileSystemWatcher1)).BeginInit();
//
// fileSystemWatcher1
//
this.fileSystemWatcher1.EnableRaisingEvents = true;
((System.ComponentModel.ISupportInitialize)(this.fileSystemWatcher1)).EndInit();
}
protected void Button1_Click(object sender, EventArgs e)
{
string S;
string SaveLocation;
if ((File1.PostedFile != null) && (File1.PostedFile.ContentLength > 0))
{
string fn = System.IO.Path.GetFileName(File1.PostedFile.FileName);
SaveLocation = Server.MapPath("Data") + "\\" + fn;
try
{
File1.PostedFile.SaveAs(SaveLocation);
Response.Write("The file has been uploaded.");
}
catch (Exception ex)
{
Response.Write("Error: " + ex.Message);
return;
}
}
else
{
Response.Write("Please select a file to upload.");
return;
}
V8DbConnection conn = new V8DbConnection();
conn.Database = "File=\"C:\\Documents and Settings\\IIUkolov\\Рабочий стол\\ддс\";";
conn.Open();
object[] mas = new object[] { SaveLocation };
V8.Call(conn, conn.Connection, "ЗагрузитьТекст", mas);
conn.Close();
}
}
Ну а это в 1С 8.0:
Функция ЗагрузитьТекст(ИмяФайла) Экспорт
Текст = Новый ЧтениеТекста(ИмяФайла,КодировкаТекста.ANSI);
Элемент = Справочники.Tab1.НайтиПоКоду(1).ПолучитьОбъект();
Стр = Текст.ПрочитатьСтроку();
Пока Стр <> Неопределено Цикл
НоваяСтрока = Элемент.ТабличнаяЧасть1.Добавить();
НоваяСтрока.Col1 = Стр;
Стр = Текст.ПрочитатьСтроку();
КонецЦикла;
Элемент.Записать();
Возврат "";
КонецФункции
|