问题描述
我正在尝试连接到打印机服务器,以便能够将打印文件直接保存在打印机存储中。我可以用卷发做到这一点
curl -v -H 'Content-Type:application/octet-stream' 'http://192.168.1.125/upload?X-Filename=model.gcode' --data-binary @model.gcode
现在,我正在尝试将此功能添加到Flutter应用中,但不起作用...。
所以现在我正在尝试使用邮递员服务器调试代码。
您能帮我创建一个邮递员服务器模拟程序,以将文件上传为二进制文件吗,例如在此curl代码中?
curl -v -H 'Content-Type:application/octet-stream' 'http://192.168.1.125/upload?X-Filename=model.gcode' --data-binary @model.gcode
我要创建它是因为我想测试此Flutter代码在打印机的服务器中不起作用。
颤音代码:
Future<void> uploadFile(File file) async {
///Using HTTP Package
Map<String,String> headers = {
"Content-type": "application/octet-stream",};
var stream = new http.ByteStream(DelegatingStream.typed(file.openRead()));
var length = await file.length();
var uri = Uri.parse("http://192.168.1.125/upload?X-Filename=nupo.gcode");
var request = new http.MultipartRequest("POST",uri);
var multipartFile = new http.MultipartFile('application',stream,length,filename: file.path);
request.headers.addAll(headers);
request.files.add(multipartFile);
var response = await request.send();
print(response.statusCode);
response.stream.transform(utf8.decoder).listen((value) {
print(value);
});
}
服务器应该能够接收二进制文件,命令应该为upload?X-Filename=filename.gcode
,X-Filename是给出名称的命令。
(此文件是3D打印文件,因此.gcode是电动机命令的含义)
解决方法
邮递员不是可用于此范围的服务器。您只能将其用于测试现有服务器。邮递员或来访者的最佳做法[POstman支持] [1]