我正在尝试将带有 React Native 前端和 axios 的图像上传到我的后端。
const pickImage = async () => {
let result = await ImagePicker.launchImageLibraryAsync({
mediaTypes: ImagePicker.MediaTypeOptions.Images,
allowsEditing: false,
aspect: [9, 16],
quality: 1,
});
console.log(result.uri);
if (!result.cancelled) {
console.log(result);
setPhoto(result);
}
};
Run Code Online (Sandbox Code Playgroud)
现在你可以清楚地看到我正在使用 ImagePicker 库设置照片状态。
let img_to_upload = {
type: 'image/jpeg',
name: 'random-file-name',
uri: Platform.OS === 'android' ? photo.uri : photo.uri.replace('file://', ''),
};
let formData = new FormData();
formData.append("title", 'this is tandom text');
formData.append("file", img_to_upload);
Run Code Online (Sandbox Code Playgroud)
在这里您可以清楚地看到我启动了一个 formdata 对象,然后向表单添加了两个字段。
axios({
method: 'POST', …Run Code Online (Sandbox Code Playgroud) 我将editorjs配置到我的应用程序中。我在上面安装了图像插件,以便我可以将图像上传到服务器。现在我的服务器上传图像并返回指定格式的 JSON,即
\n\n{\n "success": 1,\n "file": {\n "url": "https://www.tesla.com/tesla_theme/assets/img/_vehicle_redesign/roadster_and_semi/roadster/hero.jpg",\n // ... and any additional fields you want to store, such as width, height, color, extension, etc\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n响应有 file->url 但上传消息仍然出错
\n\n
这是我的配置代码:
\n\nconst editor = new EditorJS({\n /**\n * Id of Element that should contain Editor instance\n */\n holder: \'heditor\',\n\n /** \n * Available Tools list. \n * Pass Tool\'s class or Settings object for each Tool you want to use \n …Run Code Online (Sandbox Code Playgroud) class Registration_model extends CI_Model {
function __construct() {
parent::__construct();
}
function check_email_availability($email)
{
$sql = "CALL proc_1301('$email');";
$query = $this->db->query($sql) or die(mysql_error());
return $query->row_array();
}
function check_username_availability($username)
{
$sqlt = "CALL proc_1303('$username');";
$query = $this->db->query($sqlt) or die(mysql_error());
return $query->row_array();
}
function process_registration($username, $email, $password)
{
$sql = "CALL `proc_1302`('$username', '$email', '$password');";
$query = $this->db->query($sql) or die(mysql_error());
return $query->result_array();
}
Run Code Online (Sandbox Code Playgroud)
这是我的控制器代码,它从模型中逐个调用三个函数:
$emailCheckRes = $this->Registration_model->check_email_availability($email);
$usernameCheckRes = $this->Registration_model->check_username_availability($username);
$this->data['regRes'] = $this->Registration_model->process_registration($username, $email, $password);
Run Code Online (Sandbox Code Playgroud)
我的问题是当我只运行一个功能它运行成功,但当我运行其中两个或所有三个它显示空白页...任何想法为什么???
解
所以最后我们解决自己问题的唯一方法是:
/* ADD THIS FUNCTION IN SYSTEM/DATABASE/DB_ACTIVE_REC …Run Code Online (Sandbox Code Playgroud) axios ×1
codeigniter ×1
editorjs ×1
javascript ×1
laravel ×1
mysql ×1
native ×1
react-native ×1
reactjs ×1
wysiwyg ×1