Хорошо, нашли решение. Мне нужно было импортировать экспресс в мое увеличение типа и сделать возвращение моего дополнения express.Response
:
import { SomeType } from '...';
import express from 'express';
declare global {
namespace Express {
interface Response {
getSomeType(): SomeType;
message(str: string): express.Response;
}
}
Не забывайте изменять тип формы, позволять загрузки файла (enctype или что-то как этот, я не перед Visual Studio, так не может быть настолько точным.)
У меня была та же проблема.
Мое предположение было бы то, что HasFile только будет переполнен, когда сообщение будет уже сделано, не перед этим.
Вы могли бы хотеть проверить если FileUpload1. FileName уже переполнен, прежде чем сообщение будет сделано, но я вид сомнения это.
Вы - ответ, может быть найден здесь
Это в основном запрещено по умолчанию из-за причин безопасности браузера и JavaScript. Но это - обходное решение.
Default asp.net FileUpload control will never work with UpdatePanel. You need special AsyncFileUpload control as defined in AjaxControl Toolkit. This
http://www.asp.net/ajax/ajaxcontroltoolkit/samples/AsyncFileUpload/AsyncFileUpload.aspx
alt text http://ruchitsurati.net/files/fileupload.png
<ajaxToolkit:AsyncFileUpload OnClientUploadError="uploadError"
OnClientUploadComplete="uploadComplete" runat="server"
ID="AsyncFileUpload1" Width="400px" UploaderStyle="Modern"
UploadingBackColor="#CCFFFF" ThrobberID="myThrobber" />
Не нужно ничего делать, просто нужно добавить составные данные, относящиеся к вашей форме.
Page.Form.Attributes.Add("enctype", "multipart/form-data");
См. Следующую ссылку для получения дополнительных сведений.
http://knowledgebaseworld.blogspot.com /2009/02/file-upload-not-working-with-update.html
Добавьте эту строку в page_load
ScriptManager.GetCurrent(this).RegisterPostBackControl(this.Button);