luch-request 3.0
通过组件 uni-file-picker
的 @select
事件获取到二进制文件后,希望通过 luch-request
的 request
api 来上传,写来写去,感觉怎么都不对,代码如下:
封装的请求插件:
import Request from "@/js_sdk/luch-request/luch-request/index.js";
import config from "@/api/common/config.js";
const http = new Request({
baseURL: config.baseUrl + `/api/`, //
custom: { auth: true }, //
timeout: 10000,
});
http.interceptors.request.use(
(config) => {
if (config.custom && config.custom.timeout) {
config.timeout = config.custom.timeout
}
const token = getToken();
config.header = {
...config.header,
Token: token
};
if(config.custom.headers) {
config.header = Object.assign({}, config.header, config.custom.headers)
}
config.url += (config.url.indexOf('?') > -1 ? '&' : '?' + `t=${Date.now()}`)
config.method = config.method.toUpperCase()
return config;
},
(config) => {
return Promise.reject(config);
}
);
http.interceptors.response.use((response) => {
//省略部分代码
}, (error) => { /* 对响应错误做点什么 (statusCode !== 200)*/
return Promise.reject(error)
})
uni.$http = http;
export default http
请求接口:
export function postFile(data, config) {
return http.request({
url: serviceAreaName + 'UploadFile',
method: 'post',
data,
custom: config
})
}
调用页面
selectFileNew(res) {
let self = this;
let { tempFiles } = res
let file = tempFiles[0].file
let config = {
headers: { 'Content-Type': 'multipart/form-data' },
timeout: 1000 * 60 * 10
}
let formData = new FormData();
formData.append("file", file, file.name);
formData.append('type', 1)
fileUpload.postFile(formData, config).then(res => {
})
},
错误提示:
request:fail parameter data
. Expected Object, String, Array, ArrayBuffer, got FormData
根本没发请求就报错了,说明参数那部分错了,关键是我的接口是已经设置好的,上传的格式为multipart/form-data
, data 名为 file 的二进制文件,网上搜了一大片都是很简单的赋值,连个上传的demo都找不到,哎。
上传请使用上传API #upload - 3.x文档 | luch-request
这个是对应的 Issue 问题 请指教,关于file文件上传问题 · Issue #17 · lei-mu/luch-request
问题内容: 选择图像,doc或pdf后,我想将它们通过okhttp3。如何进行此操作? 并在okhttp 3中 显示的错误是 谢谢。 问题答案: 所以我自己回答这个问题。 因此,我首先将输出流打开到一个临时文件。 扩展名取决于mime类型。您可以通过以下方式找到mime类型 现在从文件读取并将其内容写入临时文件 现在写入文件 最后 成功之后的最后
问题内容: 我使用2个文件index.js,upload.php尝试通过ajax上传文件(img),如果成功追加到div 。 但是它不起作用,有几个问题,下面我的代码有什么建议吗? 谢谢。 upload.php 1. 还需要添加吗? 2. 并检查$ _FILES的大小或tmp_name是否仍使用? index.js 3.这几行是对的吗? 4.我错过或错了什么吗? 问题答案: 在其构造函数中接受一个
可能的重复: 这个
问题内容: 我想使用将文件(特别是图像)上传到REST Server 。我已经导入/添加了构建路径和。而且我在堆栈跟踪中收到以下错误。 这有效吗? HTTP POST代码 堆栈跟踪 问题答案: 您似乎缺少依赖项。 我有,,并用和在我的类路径罐子。 我也使用而不是使用header属性。 查看Internet媒体类型以了解更多详细信息
我有一个问题,通过我的php网站上传一个mp3文件。它允许我加载2MB以下的所有内容,但没有超过。它以前工作过 托管提供商还增加了fastcgi超时限制。htaccess文件,并添加以下内容:php\u value max\u execution\u time 300, 我们还增加了fastcgi超时限制,并添加了一个。htaccess文件:php\u值上传\u最大\u文件大小20M php\u值
问题内容: 我正在考虑将WCF用于一个项目,该项目需要人们能够将大文件(64MB-1GB)上传到我的服务器。我将如何使用WCF处理此问题,可能还具有恢复上传的功能。 为了处理更大的客户群,我想通过WCF测试JSON。这将如何影响文件上传?可以通过JSON完成,还是需要将上传部分切换到REST? 问题答案: 如果要上传大文件,则肯定需要查看WCF流模式。 基本上,您可以更改绑定上的传输模式;默认情况