Mohammad Imran1 Ответов: 1

Сохраните путь к файлу pdf в базе данных, но файл в папке сервера с определенным идентификатором


Привет всем,

Я использую приложение c# windows и хочу сохранить файл в имени папки сервера(файлы), а не непосредственно в базе данных.Я также хочу получить сохраненные файлы с сервера с помощью datagridview. Я сталкиваюсь с ошибкой, когда пытаюсь отправить вам свой код. Пожалуйста, предложите мне любую подлинную ссылку или решение как можно скорее.

Спасибо
Имран

Что я уже пробовал:

SqlDataAdapter objAdapter = new SqlDataAdapter(strQuery_AllAttachments_AllFields, objConn);
            objAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
            SqlCommandBuilder objCmdBuilder = new SqlCommandBuilder(objAdapter);
            DataTable objTable = new DataTable();
            FileStream objFileStream = new FileStream(strFile, FileMode.Open, FileAccess.Read);
            int intLength = Convert.ToInt32(objFileStream.Length);
            byte[] objData;
            
            objData = new byte[intLength];
            DataRow objRow;
            string[] strPath = strFile.Split(Convert.ToChar(@"\"));
            objAdapter.Fill(objTable);

            objFileStream.Read(objData, 0, intLength);
            objFileStream.Close();

            objRow = objTable.NewRow();
            objRow["FileName"] = strPath[strPath.Length - 1]; //clip the full path - we just want last part!
            objRow["FileSize"] = intLength / 5008;  // KB instead of bytes
            objRow["CustData"] = objData;  //our file
            objRow["CustName"] = comboBox1.Text.ToString();
            objRow["CaseName"] = textBox1.Text.ToString();
            objRow["Remarks"] = textBox3.Text.ToString();
            objRow["Date"] = dateTimePicker1.Value.ToShortDateString();
            objTable.Rows.Add(objRow); //add our new record
            objAdapter.Update(objTable);

Mohammad Imran1

Это не полный код, я получаю ошибку space/long code, когда пытаюсь загрузить весь код. Пожалуйста, дайте мне знать Полное решение, я новичок в этой области.

Richard Deeming

Вы сказали нам, что получаете ошибку, но вы не сказали нам, что это за ошибка или к какой строке вашего кода она относится.

Без этой информации никто не сможет вам помочь.

Нажмите на зеленую ссылку "улучшить вопрос" и добавьте полную информацию об ошибке в свой вопрос.

1 Ответов

Рейтинг:
1

Nirav Prabtani

В чем проблема с вашим кодом ?

Вы можете сохранить ссылку на файл (путь к файлу) в базе данных со ссылкой на documentID (конкретный идентификатор), а затем получить доступ к файлу с тем же путем к файлу.

Как вы храните путь

напр.

Server.MapPath("/Folder/file.txt")

или

"Folder/File.txt" только ?


Mohammad Imran1

Это мой второй код сохранения файла .

private void CreateAttachment(string strFile)
{
SqlDataAdapter objAdapter = новый SqlDataAdapter(strQuery_AllAttachments_AllFields, objConn);
objAdapter.Свойство Missingschemaaction = Свойство Missingschemaaction.Следующем коде, вы увидите;
SqlCommandBuilder objCmdBuilder = новый SqlCommandBuilder(objAdapter);
DataTable objTable = новый DataTable();
FileStream objFileStream = новый FileStream(strFile, FileMode.Открытия, Флагами Fileaccess.Читать);
int intLength = конвертировать.ToInt32(objFileStream.Длина);
байт[] objData;

objData = новый байт[intLength];
Строкаданных objRow;
string[] strPath = strFile.Split(Конвертировать.Тохар(@"\"));
objAdapter.Заполнить(objTable);

objFileStream.Read(objData, 0, intLength);
objFileStream.Закрывать();

objRow = objTable.Невров();
objRow["FileName"] = strPath[strPath.Длина - 1]; //клип полный путь - мы просто хотим последнюю часть!
objRow["FileSize"] = intLength / 5008; // КБ вместо байт
objRow["CustData"] = objData; //наш файл
objRow["CustName"] = comboBox1.Text.Метод toString();
objRow["CaseName"] = textBox1.Text.Метод toString();
objRow["Примечания"] = textBox3.Text.Метод toString();
objRow["Date"] = dateTimePicker1.Value.ToShortDateString();
objTable.Rows.Add(objRow); //добавить нашу новую запись
objAdapter.Обновление(objTable);

}

Mohammad Imran1

любое обновление, которое кто-нибудь может помочь, пожалуйста???