ajax向delphi11 上传图片代码
时间: 2023-09-29 12:07:20 浏览: 136
要使用 Ajax 向 Delphi 11 上传图片,可以参考以下步骤:
1. 在 Delphi 11 中创建一个可以接收图片上传的接口,可以使用 Indy 或 Synapse 等网络库来实现。
2. 在 HTML 页面中使用 AJAX 技术向 Delphi 11 的接口发送 POST 请求,将图片上传到指定位置。
3. 在 Delphi 11 的接口中,使用 TIdHTTP 或者 TIdTCPServer 等组件接收图片上传请求,并将上传的图片保存到指定的位置。
4. 在 Delphi 11 中,使用 TImage 组件或者其它控件来显示上传的图片。
下面是一个简单的示例:
Delphi 11 接收图片上传的代码:
```delphi
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var
ImageStream: TMemoryStream;
FileName: string;
begin
ImageStream := TMemoryStream.Create;
try
FileName := ExtractFilePath(ParamStr(0)) + 'upload\' + AContext.Connection.Socket.Binding.PeerIP + '.jpg';
AContext.Connection.IOHandler.ReadStream(ImageStream);
ImageStream.Position := 0;
ImageStream.SaveToFile(FileName);
finally
ImageStream.Free;
end;
end;
```
HTML 页面通过 AJAX 上传图片的代码:
```html
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="button" value="上传" onclick="upload()">
</form>
<script type="text/javascript">
function upload() {
var fileInput = document.getElementById('file');
var file = fileInput.files[0];
var formData = new FormData();
formData.append('file', file);
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://localhost:8080');
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
alert('上传成功');
}
};
xhr.send(formData);
}
</script>
```
希望这个简单的示例能够帮助到您。
阅读全文